我想使用MediaRecorder
来录制现有的mp3文件。在调用captureStream()之后,我尝试将Audio
元素作为源传递给MediaRecorder
,但它不起作用。
new MediaRecorder(new Audio('./audio.mp3').captureStream(), {
audioBitsPerSecond: 16000
});
错误:
未捕获的DOMException:无法在'MediaRecorder'上执行'start':MediaRecorder无法启动,因为没有音频或视频可用的曲目。
我该怎么做?
您需要play()
该音频...(然后等待它确实完成),否则您的流中没有要录制的东西。
const aud = new Audio('./audio.mp3');
aud.play().then( () => {
const stream = aud.captureStream();
const recorder = new MediaRecorder(stream);
recorder.ondataavailable = ...
});