我正在寻找包含采样率的OggVorbis标头中的字节范围。在specification中写入此信息在标识标题
中规范here显示标识标题:
它说,采样率在字节12-15中找到。但是,我如何解析oggVorbis文件的字节数组以获得此采样率?
我认为标识头必须是字节数组中的第一个块,然后采样率应该是字节12-15中的整数:
const buf = buffer.slice(12, 15);
const test = new Uint32Array(buf);
但它不起作用。
注意:我不想使用Audio API来获取采样率。
答案 0 :(得分:0)
根据规范,采样率是40到44之间的字节范围。比特率是48和52:
您所要做的就是从ArrayBuffer切片并将其写入Iteger:
// get sample rate
var bufferPart = buffer.slice(40, 48);
var bufferView = new Uint32Array(bufferPart);
var samplerate = bufferView[0];
// get bit rate
const bufferPart = buffer.slice(48, 52);
var bufferView = new Uint32Array(bufferPart);
var bitrate = bufferView[0];