使用 High-Definition Audio (Microsoft Media Foundation)

在 Windows Media Audio 编解码器的上下文中,高清晰度音频是具有两个以上通道或每个样本超过 16 位的任何音频类型。 Windows Media Audio Encoder 的“专业”和“无损”类别支持高清晰度音频。

未压缩的高清晰度音频类型是使用 WAVEFORMATEXTENSIBLE 结构定义的。 WAVEFORMATEXTENSIBLEWAVEFORMATEX 结构的结构化扩展。 使用 DSO 时,描述高清晰度音频类型的 DMO_MEDIA_TYPE 结构的 formattype 成员必须设置为 WMCFORMAT_WaveFormatEx,就像正常音频一样;WAVEFORMATEXTENSIBLE 没有特殊的格式标识符。 如果格式使用 WAVEFORMATEXTENSIBLE ,则必须将 WAVEFORMATEX 结构的 cbSize 成员设置为 22。

使用 Media Foundation 时,可以使用函数 MFInitMediaTypeFromWaveFormatExWAVEFORMATEXTENSIBLE 结构构造正确的媒体类型。

Windows Media Audio 10 专业编解码器支持的多声道输出类型不使用 WAVEFORMATEXTENSIBLE,而是在 WAVEFORMATEX 结构中报告每个样本的正确通道数和位数。 与描述压缩的 Windows 媒体音频内容的所有音频类型一样,解码器使用的 WAVEFORMATEX 结构中附加了其他信息。

解码High-Definition音频

若要解码高清音频,必须将 MFPKEY_WMADEC_HIRESOUTPUT 属性设置为 VARIANT_TRUE。 如果未设置此属性,则解码器将提供每个样本最多 16 位的立体声内容,而不考虑压缩格式。

注意

高清晰度音频仅支持 Windows XP、Windows Vista 和更高版本。 在早期版本的 Windows 上,使用高清晰度编码的 Windows Media Audio 内容将呈现为每个样本最多 16 位的双声道音频。

 

使用音频