消除 MediaRecorder javascript 中的“点击”声音

问题描述 投票:0回答:1

我通过使用 MediaRecorder 每 500 毫秒录制一个新声音来模拟现场音频。问题是声音开头有咔嗒声或滴答声。我怎样才能删除它?

顺便说一句,如果重要的话,我正在使用 React。

const recorder = useRef();

const liveRecord = (stream: MediaStream) => {
  if (recorder.current !== undefined) {
    recorder.current.stop();
  }

  const mimeType = "audio/wav";
  recorder.current = new 

 - MediaRecorder

(stream, { mimeType });
  const chunks: Blob[] = [];
  recorder.current.ondataavailable = ({ data }) => {
    chunks.push(data);
  };
  recorder.current.onstop = async () => {
    // send to server
  };
  recorder.current.start();
};

setInterval(
  () => liveRecord(stream.current as MediaStream),
  500
);
javascript audio-streaming mediarecorder
1个回答
0
投票

停止创建新的 MediaRecorder 实例。只需保留一个,然后让它向您传输数据。您可以通过在调用

timeslice
时设置
.start()
参数来完成此操作。

recorder.start(1_000); // Returns data roughly every 1,000 ms

另请参阅:https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/start

© www.soinside.com 2019 - 2024. All rights reserved.