Skip to main content
将输入缓冲区编码为 xWMA 数据。

语法

参数

pInputBuffer 类型:BYTE * 指向包含 PCM 数据的输入缓冲区的指针,至少必须包含一帧。 inputBufferSize 类型:DWORD 输入缓冲区大小,以字节为单位。 pInputFormat 类型:WAVEFORMATEX * 输入缓冲区的格式。 outputBitrate 类型:DWORD 指定请求的比特率,必须为 20000、32000、48000、64000、96000、160000 或 192000 之一。 ppEncodedBuffer 类型:BYTE ** 指向已编码数据指针的指针。 pEncodedBufferSize 类型:DWORD * 指向 DWORD 的指针,用于存放已编码数据的大小(以字节为单位)。 ppEncodedBufferFormat 类型:WAVEFORMATEX ** 指向输出格式结构指针的指针。 pEncodedBufferFormatSize 类型:DWORD * 指向 DWORD 的指针,用于存放输出格式结构的大小。 ppDecodedPacketCumulativeBytes 类型:DWORD ** 解码后数据包累计数据大小数组(使用 free [] 释放)。每个元素表示按顺序解码到对应 WMA 数据包时累计的字节数,必须包含 PacketCount 个元素。PacketCount 在 XAUDIO2_BUFFER_WMA 结构中设置。 pDecodedPacketCumulativeBytesSize 类型:DWORD * 解码后数据包累计数据的大小(以字节为单位)。数据包数量 = *pDecodedPacketCumulativeBytesSize / sizeof(DWORD)。

返回值

类型:HRESULT 成功时返回 S_OK;否则返回下表中的错误码之一。

备注

下表列出了每种采样率和声道数原生支持的比特率。 | 输入| 输出选项| | --- | --- | --- | --- | | 22050 Hz 单声道| 20000| | 22050 Hz 立体声| 32000| | 32000 Hz 单声道| 20000| | 32000 Hz 立体声| 32000, 48000| | 44100 Hz 单声道| 32000, 48000| | 44100 Hz 立体声| 32000, 48000, 96000, 192000| | 44100 Hz 5.1| 96000, 192000| | 48000 Hz 立体声| 48000, 64000, 96000, 160000, 192000| | 48000 Hz 5.1| 48000, 192000|

要求

头文件: xwmaencoder.h 库: xwmaencoder.lib

另请参阅

xWMA 命令行编码器
最后修改于 2026年8月13日