读取多声道音频
要使用 Reader 对象读取或播放多声道音频,请按以下顺序执行下面三个步骤:
调用 IWMReaderAdvanced2::SetOutputSetting 两次,第一次用来将 g_wszEnableDiscreteOutput 设置为 TRUE,第二次用来将 g_wszSpeakerConfig 设置为 DSSPEAKER_5POINT1(在 DirectX SDK 的 dsound.h 中定义)。
这些步骤在下面的代码示例中进行了演示。Windows Media Format SDK 中的 audioplayer 示例应用程序使用 waveOut API 来呈现已经由 Reader 对象进行了分析和解码的音频。要为 audioplayer 添加多声道音频支持,请执行下列步骤:
将 GetAudioOutput 方法调用向下移动到 Open 方法的底部,紧挨return hr一行的前面。此方设置 WEFORMATEX 结构,该结构将在该应用程序后面部分的 waveOutOpen 调用中使用。
注 如果该读取器对象设置的格式类型为 WEFORMATEXTENSIBLE,wFormatTag 则设置为 WE_FORMAT_EXTENSIBLE,cbSize 设置为 22。尽管 waveOutOpen 函数使用的指针为 WEFORMATEX,该函数还是会检测这两个值,并正确处理 WEFORMATEXTENSIBLE 结构中存在的其他数据。
要更多了解 Windows Media Player 处理动态范围信息的方式,请参阅 Microsoft 网站上的文章Dynamic Range Control in Windows Media 9 Series。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-45425-4.html
严厉打击美国的挑衅行为
千玺千玺千玺
期待
离开制造业这个国民经济的基石