버튼 클릭 이벤트에서 MainPage에서 배경 오디오를 실행하는 UWP 앱을 만들고 있습니다. 다른 페이지로 이동하면 배경 오디오 작업에서 재생할 다른 미디어도 있습니다.UWP 앱의 다른 페이지에서 배경 오디오 실행
어떻게하면 현재 재생중인 작업이 다른 작업을 실행하지 못하게 할 수 있습니까? 전 세계적으로 무언가를 정의해야합니까? 이 문제와 관련된 도움이 필요하십니까?
편집 나는이 샘플 사용하고
: 첫 번째 페이지의 backgroundAudio이 실행되는 동안 https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BackgroundAudio, 나는 두 번째 페이지로 이동하여 클릭 이벤트에 내가 다음 코드를 사용하여 새로운 목록을 설정
// First update the persisted start track
ApplicationSettingsHelper.SaveSettingsValue(ApplicationSettingsConstants.TrackId, RadioFacade.mySongs[0].MediaUri.ToString()); //here
ApplicationSettingsHelper.SaveSettingsValue(ApplicationSettingsConstants.Position, new TimeSpan().ToString());
// Start task
StartBackgroundAudioTask();
그러나 새로운 노래는이 방법의 다른 실행하고 입력 할 예상 시간보다 더 걸리는 :
private void StartBackgroundAudioTask()
{
AddMediaPlayerEventHandlers();
var startResult = this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() =>
{
bool result = backgroundAudioTaskStarted.WaitOne(10000);
//Send message to initiate playback
if (result == true)
{
MessageService.SendMessageToBackground(new UpdatePlaylistMessage(RadioFacade.mySongs));
MessageService.SendMessageToBackground(new StartPlaybackMessage());
}
else
{
throw new Exception("Background Audio Task didn't start in expected time");
}
});
startResult.Completed = new AsyncActionCompletedHandler(BackgroundTaskInitializationCompleted);
}
,369을
및 이전 (첫 번째 재생) 노래가 계속 재생됩니다.
BackgroundMediaPLayer.Shutdown()
을 사용하여 현재 BackgroundMediaPlayer를 중지하려고했지만 작동하지 않았습니다.
오래된 노래를 중단하고 현재 노래를 재생하는 방법을 알려주세요.
대신 BackgroundMediaPlayer.Current.Pause()를 사용해 보셨습니까? – H77