wma 解码
解码WMA音频到PCM浮标样本. 纯JS的ASF解码器,WMA通过 摇滚盒 固定点解码器编译为WASM(70 KB).
部分 音频解码。 。 。 .
安装
npm i @audio/wma-decode
使用量
import decode from '@audio/wma-decode'
let { channelData, sampleRate } = await decode(wmaBuffer)
流线
import { decoder } from '@audio/wma-decode'
let dec = await decoder()
let result = dec.decode(chunk)
dec.free()
仅限 ASF 调试器
import { demuxASF } from '@audio/wma-decode'
let { channels, sampleRate, bitRate, packets } = demuxASF(buffer)
API 密码
decode(src): Promise<AudioData>
全文件解码. 接受 Uint8Array 或者说 ArrayBuffer。 。 。 .
decoder(): Promise<WMADecoder>
创建解码器实例.
dec.decode(data)解码块,返回{ channelData, sampleRate }dec.flush()——冲(返回为空)dec.free()——释放WASM内存
demuxASF(buf): ASFInfo
在不解码的情况下解析 ASF 容器 。 返回流属性和生包.
格式
- WMA v1 (0x0160) (英语)
- WMA v2(0x0161) (英语)
WMA Pro and Lossless 没有支持。 可通过 FFmpeg 构建 build-ffmpeg.sh 这些格式.
楼瓦斯姆
npm run build
RockBox 来源包含在 lib/rockbox-wma/ (3个文件,152 KB).
许可证
GPL- 2.0+ (摇篮)