我使用 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)})
})
答案 0 :(得分:0)
如果我没看错 - 您想录制音频,但不想在浏览器中播放,对吗?
只需将 muted 参数添加到正在播放您正在抓取的媒体中即可。
<video muted>
</video>
您可以以编程方式执行此操作:
video.muted=true;
如果您不想录制音频 - 将您的音频限制更改为 audio: false:
navigator.mediaDevices.getUserMedia({
video: true, audio: false
})