@ audio/decode-webm (英语)
解码WebM和Matroska(MKV)音频到PCM浮标样本——视频文件的音频轨迹包括(Opus,Vorbis,AAC,ALAC,MP3,FLAC,AC-3,DTS,PCM).
安装
npm i @audio/decode-webm
使用量
import decode, { decoder } from '@audio/decode-webm'
let { channelData, sampleRate } = await decode(webmBytes)
let dec = await decoder() // initialize Opus and Vorbis WASM
let result = dec.decode(chunk)
let tail = dec.flush()
dec.free()
视频音轨被跳过;第一个音频音轨被解码. 带状块(Xiph, EBML,固定)被拆分成帧.
API 密码
decode(src): Promise<AudioData>
解码完整 Uint8Array 或者说 ArrayBuffer。 。 。 .
decoder(): Promise<WebmDecoder>
初始化代码运行时间并返回一流解码器. 用于 WebM 编码器( Opus, Vorbis) decode() 财务报告和审定财务报表 flush() 是同步的。 对于 Matroska 唯一的编码器, 完成音轨头的调用返回一个许诺, 而代码包加载; 以后的调用是同步的 . flush() 结束溪流.
工厂准备了"Opus"和"Vorbis"运行时间,然后在读取标题后释放出赛道不需要的东西.
编解码器
| 编码 | 解码由 |
|---|---|
A_OPUS | 捆绑的 libopus 瓦斯核来自 @ audio/decode-opus (英语) |
A_VORBIS | 捆绑 @ audio/decode-vorbis (英语) |
A_AAC (所有简介) | @ audio/decode-aac,按要求装入 |
A_ALAC | @ audio/decode-aac,按要求装入 |
A_MPEG/L3 | @ audio/decode-mp3 (英语),按要求装入 |
A_FLAC | @audio/decode-flac (英语),按要求装入 |
A_PCM/INT/LIT, (中文(简体) ), A_PCM/INT/BIG, (中文(简体) ), A_PCM/FLOAT/IEEE | 建于内 |
A_AC3 | @ audio/decode-ac3 (英语),按要求装入 |
A_DTS (核心DTS-HD也) | @ audio/decode-dts (英语),按要求装入 |
A_EAC3 | @ audio/ decode-eac3 (英语),按要求装入 |
TrueHD, MPEG 第I/II层, WavPack, TTA 和 A_MS/ACM 音轨投出一个给解码器命名的错误. DiscardPadding 在 Opus 块上是荣誉的, 因此文件来自 @ audio/ encode-webm 解码样本- 准确 .
点播的编码包是动态导入的,在AudioWorklet——Opus和Vorbis在那里工作,其他需要主线程或Worker内部没有.