aardio 文档

sys.mediaFoundation.mp3Decoder 库模块帮助文档

MP3 增量解码

sys.mediaFoundation 成员列表 #

sys.mediaFoundation.mp3Decoder #

用 Windows 自带 MP3 解码器把内存中的 MP3 字节增量解码为 16 位 PCM。
不播放、不读文件、不自动探测格式。一个实例处理一条固定格式的连续 MP3。
同步调用,不需要消息循环;在创建对象的线程使用。
使用指南

sys.mediaFoundation.mp3Decoder() #

返回对象:sysMfMp3DecoderObject

sys.mediaFoundation.mp3Decoder(options) #

创建解码器,失败返回 null,错误信息。
options 必须指定 MP3 的实际 sampleRate 与 channels(1 或 2),输出为同采样率、同声道数的 PCM。
例如 Edge TTS 是 {sampleRate=24000;channels=1}。

sysMfMp3DecoderObject 成员列表 #

sysMfMp3DecoderObject.close() #

释放解码器,可重复调用。已返回的 PCM 不受影响

sysMfMp3DecoderObject.decode(data) #

解码一段 MP3(字符串或 buffer),块可以任意切分,不必按帧对齐。
成功返回本次得到的 PCM 块数组(空数组表示暂时没有输出,不是错误也不是结束),
失败返回 null,err;失败后解码器不能继续使用。可用 raw.join 合并数组。

sysMfMp3DecoderObject.ended #

是否已调用 finish

sysMfMp3DecoderObject.error #

解码失败信息

sysMfMp3DecoderObject.finish() #

输入结束,排空解码器,返回剩余的 PCM 块数组,失败返回 null,err。
重复调用返回空数组。之后不能再调用 decode。

sysMfMp3DecoderObject.format #

输出格式:codec="pcm",sampleRate,channels,bitsPerSample=16,可直接传给 sys.waveOut

sysMfMp3DecoderObject.inputBytes #

已送入解码器的 MP3 字节数

sysMfMp3DecoderObject.pcmBytes #

已输出的 PCM 字节数

Markdown 格式