0

我正在开发一个 WinRT 项目,在该项目中我同时播放多个视频文件。我在机器上连接了 3 个音频设备,它们将专门用于渲染正在播放的视频文件中的音频。可以同时播放的最大视频数为 3。因此,每个音频设备都将用于从其相应的视频文件中渲染音频。即音频设备 1 将播放视频 1,依此类推。这就是我的要求。

到目前为止,我遇到了两种方法。首先,我们使用杜比或任何其他 API 将音频通道化到相应的设备。即左声道渲染到设备 1,中间/中心渲染到设备 2,右声道渲染到设备 3。我已经尝试过适用于 Windows 10 的Dolby Audio 示例应用程序。他们已经在嵌入式视频中完成了通道,而不是在代码中。我找不到Windows 10 Dolby API的文档。那么对于这种方法,我可以将音频以通道的形式呈现给特定的音频设备吗?而且我不想以任何方式合并音频。

其次,我们使用 3 个声卡,并在每个声卡上附加一个音频设备。我们通过提供设备 ID 来选择我们想要播放音频的设备。我已经通过使用我想要的设备 ID 调用 createMasteringVoice() 方法来尝试使用XAudio2使用这种方法。这适用于单个音频文件,但是,我想渲染正在播放的多个视频的音频。

这两种方法都没有解决核心需求。因此,考虑到这种情况,满足要求的最佳方法是什么?

4

1 回答 1

0

我想说你可以XAudio2按照你在第二种方法中提到的那样去。由于您可以传递deviceIdcreateMasteringVoice(),因此您可以创建多个实例UniversalAudioPlayer并将不同的 ID 传递给每个实例。这样可以同时播放多个声音。看看这里的功能定义和社区添加。

于 2015-12-03T07:18:41.087 回答