Javascript - Запись звука из mp3 файла

Я хочу использовать MediaRecorder для записи существующего файла mp3. Я попытался передать элемент Audio в качестве источника для MediaRecorder после вызова функции captureStream(), но это не сработало.

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

Ошибка:

Uncaught DOMException: не удалось выполнить «старт» на «MediaRecorder»: MediaRecorder не может запуститься, так как нет доступных аудио- или видеодорожек.

Как я могу это сделать?


person Community    schedule 06.12.2019    source источник


Ответы (1)


Вам нужно play() этот звук... (и подождите, это действительно так), иначе в вашем потоке нечего будет записывать.

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

});
person Community    schedule 06.12.2019