【问题标题】:How to get sample rate by Ogg Vorbis Byte Buffer如何通过 Ogg Vorbis Byte Buffer 获得采样率
【发布时间】:2017-07-22 18:39:38
【问题描述】:

我正在寻找包含采样率的 OggVorbis 标头中的字节范围。在specification中写到这个信息在标识头中

规范here显示标识头:

它说,采样率在字节 12-15 中找到。但是如何解析 oggVorbis 文件的字节数组以获得此采样率?

我认为标识头必须是字节数组中的第一个块,然后采样率应该是字节 12-15 中的整数:

const buf = buffer.slice(12, 15);
const test = new Uint32Array(buf);

但它不起作用。

注意:我不想使用音频 API 来获取采样率。

【问题讨论】:

    标签: javascript oggvorbis


    【解决方案1】:

    根据规范,采样率是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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-24
      • 2014-12-28
      • 2015-04-07
      • 2015-07-13
      • 2011-06-12
      • 2011-05-19
      • 2013-12-14
      • 2011-02-08
      相关资源
      最近更新 更多