通常情况下,在仅具有立体声播放设备的设备上调用IAudioClient-> GetMixFormat()方法将在共享模式下获得默认的音频格式,即2通道格式。
但是出于某种原因,我需要让此设备上的所有应用程序在调用IAudioClient-> GetMixFormat()时都获得6/8通道格式。
这是MSDN网站上IAudioClient-> GetMixFormat()方法的解密部分。
最佳答案
当应用程序以兼容格式播放音频时,它是共享使用模式的混合格式,系统将所有内容混合在一起以产生最终的播放流。可以通过控制面板更改格式,请参见this answer中的屏幕截图:
并非每个设备都会提供5.1和7.1选项。