如何在 JavaScript 中剪切录音

How to cut an audio recording in JavaScript

假设我使用 Recorder.js 从我的麦克风录制音频。那我怎么才能trim/crop/slice/cut录音呢?意思是,假设我记录了 3.5 秒,而我只想要前 3 秒。有什么想法吗?

您可以在 3 秒停止原始录音或使用 <audio> 元素,HTMLMediaElement.captureStream()MediaRecorder 录制原始录音的 3 秒播放。

const audio = new Audio(/* Blob URL or URL of recording */);
const chunks = [];
audio.oncanplay = e => {
  audio.play();
  const stream = audio.captureStream();
  const recorder = new MediaRecorder(stream);
  recorder.ondataavailable = e => {
    if (recorder.state === "recording") {
      recorder.stop()
    };
    chunks.push(e.data)
  }
  recorder.onstop = e => {
    console.log(chunks)
  }
  recorder.start(3000);
}