Я использую getUserMedia и mediaRecorder API для записи видео с веб-камеры.
Я использую chrome версию 80.
Как getUserMedia и записать видео, смешивая mp3 с javascript? mp3 может воспроизводить паузы и останавливаться
Я не знаю, как смешивать mp3 с видеопотоком в прямом эфире.
Когда я удаляю Track и addTrack, я останавливаюсь на MediaRecorder, сбой.
show Ошибка: не удалось выполнить «останов» для «MediaRecorder»: состояние MediaRecorder «неактивно».
мой код на codepen: https://codepen.io/zhishaofei3/pen/eYNrYGj
и простые коды:
function getFileBuffer(filepath) {
return fetch(filepath, {method: 'GET'}).then(response => response.arrayBuffer())
}
function mp3play() {
getFileBuffer('song.mp3')
.then(buffer => context.decodeAudioData(buffer))
.then(buffer => {
console.log(buffer)
const source = context.createBufferSource()
source.buffer = buffer
let volume = context.createGain()
volume.gain.value = 1
source.connect(volume)
dest = context.createMediaStreamDestination()
volume.connect(dest)
// volume.connect(context.destination)
source.start(0)
const _audioTrack = stream.getAudioTracks();
if (_audioTrack.length > 0) {
_audioTrack[0].stop();
stream.removeTrack(_audioTrack[0]);
}
console.log(dest.stream)
console.log(dest.stream.getAudioTracks()[0])
stream.addTrack(dest.stream.getAudioTracks()[0])
})
}
спасибо!