c# - 切换到全息模式时,UWP 背景音频不起作用
问题描述
我对 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
}
这是大部分代码。我也愿意分享整个项目。
解决方案
发现MediaPlayer.AudioCategory
没有设置为媒体。这是限制音频以覆盖来自全息应用程序的游戏媒体流。
这解决了问题!
推荐阅读
- uinavigationcontroller - 如何从 mapkit 注释导航 - SwiftUI/Xcode 11
- python - 在数据框中添加一行并命名
- matplotlib - Matplotlib 热图真的很小
- git - 为什么我的来自 VM 的 Git 提交显示为来自完全不同的人?
- java - java类型擦除如何处理'?
- node.js - Regix:从 MediaWiki XML 文档中提取模板列表
- flutter - 如何将 Firestore DocumentSnapshot 转换为 dart 对象实例
- python - 在python中提取href
- haskell - Haskell 中的递归定点函数
- javascript - 'class' 语法在 javascript 中是如何工作的?