Windows Media Audio 编码器
Windows Media Audio 编码器对音频流进行编码。 该编码器支持三类编码输出:Windows Media Audio Standard、Windows Media Audio Professional 和 Windows Media Audio Lossless。
类标识符
Windows Media Audio 编码器的类标识符 (CLSID) 由常量 CLSID_CWMAEncMediaObject 表示。 可以调用 CoCreateInstance 来创建音频编码器的实例。
输入格式
下表显示了代表 Windows Media Audio 编码器支持的输入类别的音频格式标记。 有关如何设置编码器的输入和输出类型的信息,请参阅配置音频编码。
格式标记常量 | 格式标记值 | 音频格式 |
---|---|---|
WAVE_FORMAT_PCM | 0x0001 | PCM 格式 |
WAVE_FORMAT_IEEE_FLOAT | 0x0003 | IEEE 浮点 |
WAVE_FORMAT_EXTENSIBLE | 0xFFFE | 采用 WAVEFORMATEXTENSIBLE 结构的 PCM/IEEE 格式 |
输出格式
下表显示了代表 Windows Media Audio 编码器支持的输出类别的音频格式标记。
格式标记常量 | 格式标记值 | 音频格式 |
---|---|---|
WAVE_FORMAT_WMAUDIO2 | 0x0161 | Windows Media Audio 标准版 |
WAVE_FORMAT_WMAUDIO3 | 0x0162 | Windows Media Audio 专业版 |
WAVE_FORMAT_WMAUDIO_LOSSLESS | 0x0163 | Windows Media Audio 无损版 |
接口
音频编码器对象公开 IMediaObject 接口,以便该对象可用作 DirectX 媒体对象 (DMO),并公开 IMFTransform 接口,以便该对象可用作媒体基础转换 (MFT)。
根据获取的接口以及运行的 Windows 版本,Windows Media Audio 编码器作为 DMO 或 MFT 运行。 下表显示了音频编码器作为 DMO 或 MFT 运行的条件。
操作系统 | 编码器行为 |
---|---|
Windows XP | Windows Media Audio 编码器始终作为 DMO 运行。 |
Windows Vista | 默认情况下,Windows Media Audio 编码器作为 DMO 运行。 如果在音频编码器上获取 IMFTransform 接口或 IPropertyStore 接口,它将作为 MFT 运行。 |
Windows 7 | 默认情况下,Windows Media Audio 编码器作为 DMO 运行。 如果在音频编码器上获取 IMFTransform 接口,它将作为 MFT 运行。 |
编码器属性
Windows Media Audio 编码器支持以下属性。
properties | 说明 |
---|---|
MFPKEY_AVGCONSTRAINED | 指定编码器是否使用平均可控的 VBR 编码。
标准版、专业版、无损版。 读/写。 |
MFPKEY_BMAX | 指定处于峰值比特率的受约束可变比特率 (VBR) 流的缓冲区窗口(以毫秒为单位)。
标准版、专业版。 读/写。 |
MFPKEY_CHECKDATACONSISTENCY2P | 指定编码器在执行两次 VBR 编码时是否应检查两次之间的数据一致性。
标准版、专业版、无损版。 只读。 |
MFPKEY_CONSTRAINDECLATENCY | 指定编码器是否受最大解码器延迟要求的约束。
标准版、专业版、无损版。 读/写。 |
MFPKEY_CONSTRAINENCCOMPLEXITY | 指定编码算法的复杂性是否受约束。
标准版、专业版、无损版。 读/写。 |
MFPKEY_CONSTRAINENCLATENCY | 指定编码器是否受最大延迟要求的约束。
标准版、专业版、无损版。 读/写。 |
MFPKEY_CONSTRAIN_ENUMERATED_VBRQUALITY | 指定编码器枚举的模式是否仅限于满足质量要求的模式。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DECODERCOMPLEXITYPROFILE | 指定编码内容的复杂性配置文件。
标准版、专业版、无损版。 只读。 |
MFPKEY_DESIRED_VBRQUALITY | 指定 VBR 编码所需的质量级别。
标准版、专业版、无损版。 只写。 |
MFPKEY_DYN_ALLOW_NOISESUB | 指定编码器是否使用干扰替换。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_ALLOW_PCMRANGELIMITING | 指定编码器是否使用 PCM 范围限制。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_BANDTRUNC_BWCEIL | 指定编码器中的频带截断允许的最大编码带宽。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_BANDTRUNC_BWFLOOR | 指定编码器中的频带截断允许的最小编码带宽。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_BANDTRUNC_QCEIL | 指定允许最小编码带宽的质量。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_BANDTRUNC_QFLOOR | 指定允许最大编码带宽的质量。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_BANDTRUNCATION | 指定编码器是否执行频带截断。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_SIMPLEMASK | 指定编码器是否使用 Windows Media Audio 编码器版本 7 执行的掩码计算样式。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_STEREO_PREPROC | 指定编码器是否执行立体声图像处理。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_VBR_BAVG | 为配置为使用平均可控 VBR 编码的编码器指定缓冲区窗口(以毫秒为单位)。
标准版、专业版、无损版。 读/写。 |
MFPKEY_DYN_VBR_RAVG | 为配置为使用平均可控 VBR 编码的编码器指定平均比特率(以每秒位数为单位)。
标准版、专业版、无损版。 读/写。 |
MFPKEY_ENCCOMPLEXITY | 指定编码算法的复杂性。
标准版、专业版、无损版。 读/写。 |
MFPKEY_ENDOFPASS | 指定编码过程的结束。
标准版、专业版。 只写。 |
MFPKEY_ENHANCED_WMA | 指定核心编码器是否使用“Plus”功能。
Professional。 读/写。 |
MFPKEY_MAXDECLATENCYMS | 指定解码器的最大延迟(以毫秒为单位)。
标准版、专业版、无损版。 只写。 |
MFPKEY_MAXENCLATENCYMS | 指定编码器的最大延迟(以毫秒为单位)。
标准版、专业版、无损版。 只写。 |
MFPKEY_MOST_RECENTLY_ENUMERATED_VBRQUALITY | 指定最近枚举的输出类型的 VBR 质量级别。
标准版、专业版、无损版。 只读。 |
MFPKEY_PASSESRECOMMENDED | 指定编码器支持的最大传递次数。
标准版、专业版、无损版。 只读。 |
MFPKEY_PASSESUSED | 指定编码器用于对内容进行编码的传递次数。
标准版、专业版、无损版。 读/写。 |
MFPKEY_PEAKCONSTRAINED | 指定编码器是否受峰值比特率的约束。
标准版、专业版。 读/写。 |
MFPKEY_PREFERRED_FRAMESIZE | 指定每个帧的首选样本数。
Professional。 读/写。 |
MFPKEY_REQUESTING_A_FRAMESIZE | 指定编码器是否应使用首选帧大小。
Professional。 读/写。 |
MFPKEY_RMAX | 指定用于约束的 2 次可变比特率 (VBR) 编码的峰值比特率(以每秒位数为单位)。
标准版、专业版。 读/写。 |
MFPKEY_STAT_BAVG | 指定编码流的平均缓冲区窗口(以毫秒为单位)。
标准版、专业版、无损版。 只读。 |
MFPKEY_STAT_BMAX | 指定编码流的最大缓冲区窗口(以毫秒为单位)。
标准版、专业版、无损版。 只读。 |
MFPKEY_STAT_RAVG | 指定编码流的平均比特率(以每秒位数为单位)。
标准版、专业版、无损版。 只读。 |
MFPKEY_STAT_RMAX | 指定编码流的最大比特率(以每秒位数为单位)。
标准版、专业版、无损版。 只读。 |
MFPKEY_VBRENABLED | 指定编码器是否使用 VBR 编码。
标准版、专业版、无损版。 读/写。 |
MFPKEY_WMA_ELEMENTARY_STREAM | Windows Media Audio 编解码器当前不使用此属性。 |
MFPKEY_WMADRC_AVGREF | 指定音频内容的平均音量。
标准版、专业版、无损版。 只读。 |
MFPKEY_WMADRC_PEAKREF | 指定音频内容的最高音量。
标准版、专业版、无损版。 只读。 |
MFPKEY_WMAENC_AVGBYTESPERSEC | 指定 VBR 编码音频的平均每秒字节数。
标准版、专业版、无损版。 只读。 |
MFPKEY_WMAENC_BUFFERLESSCBR | 指定编码器是否应为每个帧生成 1 个 WMA 数据包。
标准版、专业版、无损版。 读/写。 |
MFPKEY_WMAENC_GENERATE_DRC_PARAMS | 指定编码器是否应生成动态范围控制参数。
标准版、专业版、无损版。 读/写。 |
MFPKEY_WMAENC_ORIGWAVEFORMAT | 指定描述输入音频内容的 WAVEFORMATEX 结构。
标准版、专业版。 读/写。 |
MFPKEY_WMAENC_RTSPDIF | 指定编码器是否应启用实时 S/PDIF 编码。
Professional。 读/写。 |
要求
要求 | 值 |
---|---|
客户端 |
Windows XP、Windows Vista 或 Windows 7 |
标头 |
|
DLL |
|
另请参阅