我们想在Windows 10 IoT Core上的无头UWP后台应用程序中的某个地方播放WAV文件。为此,我已遵循Microsoft文档并使用以下方法:
var mediaPlayer = new MediaPlayer();
mediaPlayer.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/startup.wav"));
mediaPlayer.Play();
我已将WAV文件(startup.wav)复制到Visual Studio中的Assets文件夹,将其设置为始终复制到输出并编译UWP应用程序。无论我如何尝试我都没有得到任何声音输出。我尝试了2个Raspberry PI(均为版本3)并将我的电脑扬声器连接到Raspberry的输出插孔。
我还在package.appxmanifest中为应用程序授予了正确的权限:
<uap3:Capability Name="backgroundMediaPlayback"/>
如果我进入设备门户,我会在右侧看到默认的Raspberry pi 2音频,其中滑块处于活动状态。我猜这是一个标志驱动程序是正确的。
如何在我的无头背景UWP应用程序中播放简单的wav文件?也许我做错了什么,希望有人可以帮助我。
我已将WAV文件(startup.wav)复制到Visual Studio中的Assets文件夹中
喜欢这个吧?
这不是正确的地方。您可以在调试时检查mediaPlayer.Source的IsOpen属性,它将为false。
你需要将音频文件放在appx文件夹中,对我来说,它是这样的:PlayAudioBackground \ bin \ ARM \ Debug \ AppX \ Assets。
你可以尝试一下。
参考:“URI schemes - ms-appx”“UWP sample - Background media playback sample”
更新:
对于后台应用程序,默认情况下,资产文件夹不包含在项目中。如果要使用此文件夹添加音频文件,可以右键单击解决方案资源管理器中的资源文件夹,然后选择“包含在项目中”。然后设置音频文件属性“Build Action - Content”和“Copy to output directory - Copy Always”。
感谢你的帮助。当我尝试第三个覆盆子它工作,不知道为什么,但也许我运气不好和两个头 - 杰克端口坏了:)。
谢谢你的帮助!