配置 Microsoft Media Foundation (音频编码)
Windows媒体音频编码器以完整形式枚举其所有受支持的输出类型。 通过调用 IMediaObject::GetOutputType 或 IMFTransform::GetAvailableOutputType 来检索所需的类型,然后通过调用 IMediaObject::SetOutputType 或 IMFTransform::SetOutputType 将检索到的类型设置为输出类型。
当配置编码器属性时,音频编码器支持的输出媒体类型会发生变化。 在枚举输出类型之前,必须配置要使用的所有编码器属性。
音频编码器支持双传递模式和 VBR 模式,但配置方式与视频不同。 有关详细信息,请参阅 枚举特定编码模式的音频类型。
在设置输出类型之前,音频编码器支持的输入类型不可用。 如果在设置输出类型之前调用 IMediaObject::GetInputType 或 IMFTransform::GetInputType ,该方法将分别返回DMO_E_NO_MORE_ITEMS或MFT_E_NO_MORE_TYPES。 设置输出类型后,编码器会枚举它为所选输出类型支持的输入类型。
Windows媒体音频编码器不执行音频重新采样。 这意味着编码器输出类型和编码器输入类型必须具有相同数量的通道、每个样本的位数和采样率。 有关详细信息,请参阅 查找音频编码器输出类型。
注意
音频编码器枚举的每个输出类型都包含AM_MEDIA_TYPE.pbFormat () 指向的波形图X 结构,其中追加了扩展数据。 扩展数据的大小由 波形图X.cbSize 指定。 此数据必须与编码的内容一起保存,以便可以将其传送到解码器。 如果没有扩展格式数据,则无法解压缩内容。
相关主题