如何使用Universal Windows App从BackgroundMediaPlayer播放内部声音

时间:2015-12-08 06:28:48

标签: c# windows-10 win-universal-app uwp

我正在用C#创建一个计时器。当计时器结束时,用户将收到通知。

如果我的应用程序被暂停,我会使用ToastNotificationManager安排通知,并在toast XML中将声音设置为内部声音,例如:

<audio src='ms-winsoundevent:Notification.Looping.Alarm10' loop='true'/>

但是,如果我的应用程序在前台运行,我不想安排通知,只是使用BackgroundMediaPlayer播放声音。

当然我想使用与通知中相同的闹钟声音。但我还没有找到解决那里内部声音的方法。

我发现了这个:

BackgroundMediaPlayer.Current.SetUriSource(new Uri("ms-appx:///Assets/Sounds/alarm01.wav"));
            BackgroundMediaPlayer.Current.Play();

但这需要我将所有系统声音复制到我的应用程序中,我不想这样做,因为它会增加大小。

1 个答案:

答案 0 :(得分:5)

我创建了一个重现问题的演示,发现你可以直接使用内部声音

BackgroundMediaPlayer.Current.SetUriSource(new Uri("ms-winsoundevent:Notification.Looping.Alarm10"));
BackgroundMediaPlayer.Current.Play();

它在我的UWP项目中有效。我希望它也适用于您的项目。