我正在用C#创建一个计时器.当计时器完成后,用户将收到通知.
如果我的应用程序被暂停,我会安排一个通知,ToastNotificationManager
并在toast XML中将声音设置为内部声音,例如:
但是,如果我的应用程序在前台运行,我不想安排通知,而只是使用BackgroundMediaPlayer播放声音.
当然我想使用与通知中相同的警报声音.但我还没有办法解决那里的内部声音.
我发现了这个:
BackgroundMediaPlayer.Current.SetUriSource(new Uri("ms-appx:///Assets/Sounds/alarm01.wav")); BackgroundMediaPlayer.Current.Play();
但这需要我将所有系统声音复制到我的应用程序,我不想这样做,因为它会增加大小.
我创建了一个演示来重现问题,发现你可以直接使用内部声音
BackgroundMediaPlayer.Current.SetUriSource(new Uri("ms-winsoundevent:Notification.Looping.Alarm10")); BackgroundMediaPlayer.Current.Play();
它在我的UWP项目中有效.我希望它也适用于您的项目.