如何从我的通用Windows应用程序中使用BackgroundMediaPlayer播放内部声音

本文关键字:BackgroundMediaPlayer 播放 声音 内部 Windows 我的 应用程序 | 更新日期: 2023-09-27 18:26:07

我正在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();

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

如何从我的通用Windows应用程序中使用BackgroundMediaPlayer播放内部声音

我创建了一个演示来重现这个问题,并发现您可以通过使用直接使用内部声音

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

它在我的UWP项目中起了作用。我希望它也能在你的项目中发挥作用。

相关文章:
  • 没有找到相关文章