0
Background file transfer
을 Background audio agent
에서 실행하고 싶지만 포 그라운드 앱에서 올바르게 실행되는 예제 코드에 오류가 발생합니다.백그라운드 오디오 에이전트에서 백그라운드 전송을 실행할 수 있습니까?
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at Microsoft.Phone.BackgroundTransfer.BackgroundTransferRequest.SubmitHelper()
at Microsoft.Phone.BackgroundTransfer.BackgroundTransferRequest.Submit()
at Microsoft.Phone.BackgroundTransfer.BackgroundTransferService.Add(BackgroundTransferRequest request)
at Project.AudioPlaybackAgent.AudioPlayer.CreateBackgroundTransfer()
그래서 배경 에이전트로부터 transferm를 실행할 수 있습니다 : 나는 오류가 BackgroundTransferService에 transferRequest을 추가하는 선에서
string transferFileName = @"http://www.reggaeavenue.com/MP3/leave%20short.mp3";
Uri transferUri = new Uri(Uri.EscapeUriString(transferFileName), UriKind.RelativeOrAbsolute);
BackgroundTransferRequest transferRequest = new BackgroundTransferRequest(transferUri);
transferRequest.Method = "GET";
string downloadFile = "result.mp3";
Uri downloadUri = new Uri("shared/transfers/" + downloadFile, UriKind.RelativeOrAbsolute);
transferRequest.DownloadLocation = downloadUri;
transferRequest.Tag = downloadFile;
transferRequest.TransferPreferences = TransferPreferences.AllowCellularAndBattery;
try
{
BackgroundTransferService.Add(transferRequest);
}
catch (InvalidOperationException ex)
{
MessageBox.Show("Unable to add background transfer request. " + ex.Message);
}
catch (Exception)
{
MessageBox.Show("Unable to add background transfer request.");
}
: 여기
은 예입니다? 이 문제를 어떻게 해결할 수 있습니까? 감사합니다
감사합니다. 찾을 수 없습니다. 왜냐하면 나는 노래를 캐쉬 한 다음 재생하려고하기 때문입니다. 그리고 나는 그것들을 백그라운드에서 캐시하고 싶다. –
배경 오디오와 기본 UI를 연결할 수 있는지, 기본 UI가 (백그라운드에서) 파일을 다운로드하고 재생 목록을 업데이트하는지 확인하십시오. bacgound 에이전트를 다운로드하는 것은 어려울 수 있습니다. 호출 된 상태를 종료하기 전에 (NotifyComplete()를 보내기 전에) 제한된 시간 (30 초)이 있음을 유의하십시오. 시간이 없으면 에이전트가 종료됩니다. – Romasz
예 백그라운드 에이전트에서 다운로드 할 수 있지만 사용자가 컨트롤을 사용하려고하면 아무 일도 일어나지 않습니다. 첫 번째 에이전트를 죽여야 만 응답을 처리하는 새로운 에이전트를 만들 수 있으며 이는 나에게 받아 들여지지 않습니다. –