我对UWP很陌生。我正在测试器应用程序(2D)中设计的应用程序,该应用程序将启动全息应用程序(使用深层链接-LaunchUriAsync),然后播放一些音频。音频回放机制是通过后台任务完成的。我遵循了Microsoft的基本文档,但是在全息视图中,音频似乎无法播放。如果将全息应用程序替换为另一个2D UWP应用程序,我可以听到音频。
后台任务的代码段。
protected async override void OnBackgroundActivated(BackgroundActivatedEventArgs args)
{
base.OnBackgroundActivated(args);
IBackgroundTaskInstance taskInstance = args.TaskInstance;
System.Diagnostics.Debug.WriteLine("Background activated Requested...");
await Task.Delay(10000);
MediaPlayer player = new MediaPlayer();
player.AutoPlay = true;
SystemMediaTransportControls systemMediaTransportControls = player.SystemMediaTransportControls;
systemMediaTransportControls.IsPlayEnabled = true;
var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Play video");
player.SetStreamSource(stream);
player.Play(); // audio playback doesn't work in holographic mode
}
这是大多数代码。我也愿意分享整个项目。
答案 0 :(得分:1)
发现MediaPlayer.AudioCategory
未设置为Media。这是限制音频以覆盖全息应用程序的游戏媒体流。
这解决了问题!