设置 WMA 编码器的输出类型
若要为 Windows Media Audio (WMA) 编码器创建有效的输出类型,必须具备以下信息:
表示编码的 WMA 格式的音频子类型。 请参阅 音频子类型 GUID。
要对编码器设置的配置属性。
配置属性记录在 Windows Media 音频和视频编解码器和 DSP API 文档中。 有关详细信息,请参阅编码属性中的“音频流 属性”。
Windows Vista 或更高版本
若要获取编码器的有效输出类型,请执行以下步骤。
- 使用 MFTEnum 或 MFTEnumEx 函数创建编码器的实例。
- 查询 IPropertyStore 接口的编码器。
- 使用 IPropertyStore 接口配置编码器。
- 通过在循环中调用 IMFTransform::GetOutputAvailableType 来检索支持的输出类型,直到编码器返回 MF_E_NO_MORE_TYPES 并选择目标媒体类型。 I
- 调用 IMFTransform::SetOutputType 以在编码器上设置压缩媒体类型。
Windows 7
为了在 Windows 7 中获取编码器的有效输出类型,Media Foundation 提供了 MFTranscodeGetAudioOutputAvailableTypes 函数。 应用程序必须传递必需的音频子类型,该子类型重新表示编码的 WMA 和编码属性。 属性是必需的,因为编码器根据模式集更改支持的输出类型。
如果调用成功,应用程序会在 IMFCollection 对象中接收支持的输出媒体类型的 IUnknown 指针列表。 若要设置输出媒体类型,请找到与目标类型匹配的媒体类型,并调用 IMFTransform::SetOutputType 在编码器上设置压缩媒体类型。
相关主题