【问题标题】:Can i mute the microphone from mediadevices?我可以将来自媒体设备的麦克风静音吗?
【发布时间】:2021-06-04 08:02:23
【问题描述】:

我用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)})
})

【问题讨论】:

    标签: javascript html5-video record voice-recording


    【解决方案1】:

    如果我没看错 - 您想录制音频,但不在浏览器中播放,对吗?

    只需将静音参数添加到正在播放您正在抓取的媒体。

    <video muted>
    
    </video>
    

    您可以通过编程方式执行此操作:

    video.muted=true;
    

    如果您不想录制音频 - 将您的音频约束更改为 audio: false:

    navigator.mediaDevices.getUserMedia({
                video: true, audio: false
            })
    
    

    【讨论】:

    • 您好,非常感谢您的帮助。实际上我尝试了你的解决方案。但是当我录制音频时,我不想听到我的声音,但同时我想录制它。
    • 如果您将视频标签静音 - 您仍然会录制音频.. 它只是不会播放。 (选项 1 和 2)
    猜你喜欢
    • 1970-01-01
    • 2017-10-26
    • 2021-06-27
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    相关资源
    最近更新 更多