我正在开展一个WinRT项目,我同时在其中播放多个视频文件。我有3个连接到机器的音频设备,它将被独特地用于从正在播放的视频文件中呈现音频。可以同时播放的最大视频数量为3.因此,每个音频设备将用于从其相应的视频文件中呈现音频。即,音频设备1将播放视频1,依此类推。这是我的要求。
到目前为止,我遇到了两种方法。首先,我们使用杜比或任何其他API将音频信道化到相应的设备。即,左声道被渲染到设备1,中间/中心到设备2,右边到设备3.我已经尝试Dolby Audio sample app用于Windows 10.他们已经在嵌入式视频中进行了通道,而不是码。我无法找到Windows 10 Dolby API的文档。那么对于这种方法,我可以将频道形式的音频渲染到特定的音频设备吗?我还是不想合并音频。
其次,我们使用3个声卡并将音频设备连接到每个声卡。我们通过提供设备ID来选择我们想要播放音频的设备。我通过使用我想要的设备ID调用createMasteringVoice()方法,使用XAudio2尝试了这种方法。这适用于单个音频文件,但是,我想呈现正在播放的多个视频的音频。
这两种方法尚未解决核心要求。因此,考虑到这种情况,满足要求的最佳方法是什么?
答案 0 :(得分:0)
我会说你可以跟你在第二种方法中提到的XAudio2
一样。由于您可以将deviceId
传递给createMasteringVoice()
,因此您可以创建UniversalAudioPlayer
的多个实例,并为每个实例传递不同的ID。这样可以同时播放多个声音。看一下功能定义和社区添加here。