【问题标题】:Trim an audio file using javascript (first 3 seconds)使用 javascript 修剪音频文件(前 3 秒)
【发布时间】:2019-01-22 16:50:57
【问题描述】:

我有一个问题,我可以修剪通过 javascript 录制的音频文件。我想修剪它的前 3 秒,你能帮我吗?我使用 p5.j 录制了音频文件,并将录制的文件和一个真实的卡拉 OK 文件与 AudioContext() 合并,我必须修剪它,因为开始时声音令人不快,导致合并错误。

【问题讨论】:

    标签: javascript html p5.js


    【解决方案1】:

    您可能需要使用类似AudioContext.decodeAudioData() 的方式将音频读入AudioBuffer,将AudioBuffer 插入AudioBufferSourceNode。然后你可以使用AudioBufferSourceNode.start()的offset参数跳过前3秒,并记录生成的输出流。

    示例代码:

    var source = audioCtx.createBufferSource();
    var dest = audioCtx.createMediaStreamDestination();
    var mediaRecorder = new MediaRecorder(dest.stream);
    
    var request = new XMLHttpRequest();
    request.open('GET', 'your.ogg', true);
    request.responseType = 'arraybuffer';
    
    request.onload = function() {
      var audioData = request.response;
      audioCtx.decodeAudioData(
        audioData,
        function(buffer) {
          source.buffer = buffer;
          source.connect(dest);
          mediaRecorder.start();
          source.start(audioCtx.currentTime, 3);
          // etc...
        },
        function(e){ 
          console.log("Error with decoding audio data" + e.err);
        }
      );
    
    }
    
    request.send();
    

    【讨论】:

      猜你喜欢
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 2018-02-07
      相关资源
      最近更新 更多