首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XAudio2需要多个AUDIO_STREAM_CATEGORY实例?

XAudio2需要多个AUDIO_STREAM_CATEGORY实例?
EN

Stack Overflow用户
提问于 2018-07-18 09:31:01
回答 1查看 165关注 0票数 0

在较新的XAudio2 API for Windows 8和10中,AUDIO_STREAM_CATEGORY被传递给IXAudio2::CreateMasteringVoice

这些文档还说明了应该如何在不同类型的音频中使用这些音频。然而,IXAudio2只允许一个主语音。要做到这一点,需要完全独立的IXAudio2实例以及所有相关接口,或者可以通过某种方式在音频图的其他地方指定类别?

游戏应该将他们的音乐流分类为AudioCategory_GameMedia,这样如果另一个应用程序在后台播放音乐,游戏音乐就会自动停止。音乐或视频应用程序应该将它们的流分类为AudioCategory_MediaAudioCategory_Movie,这样它们将优先于AudioCategory_GameMedia流。游戏音频为游戏中的电影或视频,当音频是预混的,或由于创造性的原因,应优先于背景音频,也应被归类为媒体电影

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-18 23:28:00

您可以在一个进程中创建多个IXAudio2实例,以便每个实例都具有自己的主声音。如果要从进程输出多个类型的音频,则需要创建多个IXAudio2实例。

通常,您可以只使用一个,并且总是使用AudioCategory_GameMedia

我知道这个设计有点杂乱无章,但是这个类别是在WASAPI输出语音上设置的,这就是XAudio2将其掌握的语音信息发送给它的地方。任何其他设计都需要对内部XAudio音频图中的类别数据进行注释,这将是非常复杂的,实现起来并不是很有价值。相反,我们选择让应用程序一次激活不止一个音频图,每个音频图都有自己的掌握声音,因此属于自己的类别。

您如何选择支持WASAPI的音频类别功能取决于您,当然,最好的用户体验取决于您的应用程序到底做了什么。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51398477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档