2015-12-26 3 views
0

Я пытаюсь создать безголовое приложение для Windows IoT Core на Raspberry Pi 2, которое позволяет воспроизводить аудио из фоновой задачи. Обычно я создавал Media Element в пользовательском интерфейсе, но для этого у меня есть только фоновая задача.Windows IoT Core Headless audio app

Когда я использую следующий код и играть новые аудио

Windows.Media.Playback.BackgroundMediaPlayer.Current.SetUriSource(new System.Uri("http://stream.funradio.sk:8000/fun128.mp3")); 

Exception с «Нарушение доступа» сообщение отбрасывается. Кроме того, я попытался создать регулярную фоновую задачу с аудио типа, объявленным, но чем отладчик возвращает следующее исключение:

Исключения брошенного: «System.Exception» в InternetRadioHeadless.winmd

Есть ли обходной путь, как играть и управлять фоновым звуком без MediaElement в пользовательском интерфейсе?

ответ

0

Фоновая задача нужно обрабатывать событие OnCanceled и выключение BackgroundMediaPlayer!

// Event may raise immediately before continung thread excecution so must be at the end 
taskInstance.Canceled += new BackgroundTaskCanceledEventHandler(OnCanceled); 

private void OnCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason) 
{ 
    try 
    { 
     // Shutdown media pipeline 
     BackgroundMediaPlayer.Shutdown(); 
    } 
    catch (Exception ex) 
    { 
     Debug.WriteLine(ex.ToString()); 
    } 

    deferral.Complete(); // signals task completion. 
} 
0

Вам может понадобиться объявить аудио в качестве фонового типа задач, как показано на рисунке рис

enter image description here

Смежные вопросы