Я создаю приложение UWP, в котором я запускаю фоновое аудио в MainPage на событии Click Button. Когда я перехожу на другую страницу, в фоновом фоновом режиме есть другой медиафайл.Запуск фонового звука на разных страницах приложения UWP
Как я могу остановить текущую игру, чтобы запустить другую? Должен ли я определить что-то глобальное? Любая помощь по этой проблеме?
Редактировать
Я использую этот пример: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BackgroundAudio Хотя 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();
Но новая песня занимает больше, чем расчетное время для запуска и ввода ELSE этого метода:
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);
}
и старая песня продолжает играть.
Я попытался остановить текущий BackgroundMediaPlayer, используя BackgroundMediaPLayer.Shutdown()
, но это не сработало.
Любая идея, как остановить старую песню и текущую песню?
Вы попробовали BackgroundMediaPlayer.Current.Pause() вместо этого? – H77