用 Windows 自带 MP3 解码器把内存中的 MP3 字节增量解码为 16 位 PCM。
不播放、不读文件、不自动探测格式。一个实例处理一条固定格式的连续 MP3。
同步调用,不需要消息循环;在创建对象的线程使用。
使用指南
创建解码器,失败返回 null,错误信息。
options 必须指定 MP3 的实际 sampleRate 与 channels(1 或 2),输出为同采样率、同声道数的 PCM。
例如 Edge TTS 是 {sampleRate=24000;channels=1}。
释放解码器,可重复调用。已返回的 PCM 不受影响
解码一段 MP3(字符串或 buffer),块可以任意切分,不必按帧对齐。
成功返回本次得到的 PCM 块数组(空数组表示暂时没有输出,不是错误也不是结束),
失败返回 null,err;失败后解码器不能继续使用。可用 raw.join 合并数组。
是否已调用 finish
解码失败信息
输入结束,排空解码器,返回剩余的 PCM 块数组,失败返回 null,err。
重复调用返回空数组。之后不能再调用 decode。
输出格式:codec="pcm",sampleRate,channels,bitsPerSample=16,可直接传给 sys.waveOut
已送入解码器的 MP3 字节数
已输出的 PCM 字节数