Javascript-从mp3文件录制音频

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

我想使用MediaRecorder来录制现有的mp3文件。在调用captureStream()之后,我尝试将Audio元素作为源传递给MediaRecorder,但它不起作用。

new MediaRecorder(new Audio('./audio.mp3').captureStream(), {
    audioBitsPerSecond: 16000
});

错误:

未捕获的DOMException:无法在'MediaRecorder'上执行'start':MediaRecorder无法启动,因为没有音频或视频可用的曲目。

我该怎么做?

javascript mediarecorder mediastream
1个回答
0
投票

您需要play()该音频...(然后等待它确实完成),否则您的流中没有要录制的东西。

const aud = new Audio('./audio.mp3');
aud.play().then( () => {
  const stream = aud.captureStream();
  const recorder = new MediaRecorder(stream);
  recorder.ondataavailable = ...

});
© www.soinside.com 2019 - 2024. All rights reserved.