#javascript #html5-video #record #voice-recording
Вопрос:
я записываю видео и голос пользователей navigator.mediaDevices.getUserMedia
без проблем, но во время записи видео я не хочу слышать голос микрофона, могу ли я отключить микрофон?
я попробовал это stream.getAudioTracks()[0].muted
вот мой фрагмент кода
navigator.mediaDevices.getUserMedia({
video: true, audio: {
echoCancellation: true,
noiseSuppression: true,
sampleRate: 44100
}
})
.then(stream => {
video.srcObject = stream;
stream.getAudioTracks()[0].muted //doesn't work
var mediaRecorder = new MediaRecorder(stream)
start.addEventListener('click', _ => {
mediaRecorder.start()
console.log(mediaRecorder.state);
})
stop.addEventListener('click', _ => {
mediaRecorder.stop()
console.log(mediaRecorder.state);
stream.getTracks().forEach(function (track) {
track.stop();
})
})
mediaRecorder.addEventListener('stop', _ => {
let blob = new Blob(chunks, { 'type': 'video/x-matroska;codecs=avc1,opus' });
let videoUrl = URL.createObjectURL(blob)})
})
Ответ №1:
Если я правильно понял — вы хотите записать аудио, но не воспроизводить его в браузере, верно?
Просто добавьте параметр «приглушенный» к тому, который воспроизводит носитель, который вы захватываете.
<video muted>
</video>
Вы можете сделать это программно:
video.muted=true;
Если вы не хотите записывать аудио — измените ограничение звука на аудио: ложь:
navigator.mediaDevices.getUserMedia({
video: true, audio: false
})
Комментарии:
1. здравствуйте, большое вам спасибо за вашу помощь. на самом деле я попробовал ваше решение. но во время записи звука я не хочу слышать свой звук, но в то же время я хочу его записать.
2. если вы отключите тег видео — вы все равно запишете звук.. он просто не будет воспроизводиться. (варианты 1 и 2)