Windows IoT Core 无头音频应用
Windows IoT Core Headless audio app
我正在尝试在 Raspberry Pi 2 上为 Windows IoT Core 创建无头应用程序,它允许从后台任务播放音频。
通常,我会在 UI 中创建媒体元素,但为此我只有后台任务。
当我使用以下代码播放新音频时
Windows.Media.Playback.BackgroundMediaPlayer.Current.SetUriSource(new System.Uri("http://stream.funradio.sk:8000/fun128.mp3"));
异常 "Access violation message" 被抛出。此外,我尝试创建带有声明音频类型的常规后台任务,但调试器 returns 出现以下异常:
Exception thrown: 'System.Exception' in InternetRadioHeadless.winmd
在 UI 中没有 MediaElement 的情况下如何播放和控制背景音频有任何解决方法吗?
您可能需要将音频声明为您的后台任务类型,如下图所示
后台任务需要处理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.
}
我正在尝试在 Raspberry Pi 2 上为 Windows IoT Core 创建无头应用程序,它允许从后台任务播放音频。 通常,我会在 UI 中创建媒体元素,但为此我只有后台任务。
当我使用以下代码播放新音频时
Windows.Media.Playback.BackgroundMediaPlayer.Current.SetUriSource(new System.Uri("http://stream.funradio.sk:8000/fun128.mp3"));
异常 "Access violation message" 被抛出。此外,我尝试创建带有声明音频类型的常规后台任务,但调试器 returns 出现以下异常:
Exception thrown: 'System.Exception' in InternetRadioHeadless.winmd
在 UI 中没有 MediaElement 的情况下如何播放和控制背景音频有任何解决方法吗?
您可能需要将音频声明为您的后台任务类型,如下图所示
后台任务需要处理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.
}