【问题标题】:Javascript - Record audio from mp3 fileJavascript - 从 mp3 文件录制音频
【发布时间】:2025-12-19 08:25:07
【问题描述】:

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

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

错误:

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

我该怎么做?

【问题讨论】:

    标签: javascript mediarecorder mediastream


    【解决方案1】:

    您需要 play() 那个音频...(并等待它确实如此),否则您的流中没有任何内容可以记录。

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

    【讨论】: