我试图在Raspberry Pi 2上为Windows IoT Core创建无头应用程序,允许从后台任务播放音频。 通常,我会在UI中创建Media Element,但为此我只有后台任务。
当我使用和关注代码播放新音频时
Windows.Media.Playback.BackgroundMediaPlayer.Current.SetUriSource(new System.Uri("http://stream.funradio.sk:8000/fun128.mp3"));
"访问违规消息"的异常被扔了。此外,我尝试创建声明的音频类型的常规后台任务,但调试器返回以下异常:
抛出异常:' System.Exception'在InternetRadioHeadless.winmd
是否有任何解决方法如何在UI中没有MediaElement的情况下播放和控制背景音频?
答案 0 :(得分:0)
答案 1 :(得分: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.
}