首页 > 解决方案 > 如何使麦克风静音(但不是传入声音)?

问题描述

使用时

const audioIncoming = document.createElement('audio');

通过浏览器调用。

将麦克风静音而不是来自网络的传入音频声音的正确方法是什么?或者这甚至可能吗?

这是一个完整的代码示例:

const audioProgress = document.createElement('audio');
const audioIncoming = document.createElement('audio');

/*** Define listener for managing calls ***/
var callListeners = {
    onCallProgressing: function(call) {
        audioProgress.src = 'style/ringback.wav';
        audioProgress.loop = true;
        audioProgress.play();
        $('div#callLog').append('<div id="stats">Ringing...</div>');
    },
    onCallEstablished: function(call) {
        audioIncoming.srcObject = call.incomingStream;
        audioIncoming.play();
        audioProgress.pause();

        //Report call stats
        var callDetails = call.getDetails();
        $('div#callLog').append('<div id="stats">Answered at: '+(callDetails.establishedTime && new Date(callDetails.establishedTime))+'</div>');
    },
    onCallEnded: function(call) {
        audioProgress.pause();
        audioIncoming.srcObject = null;

        $('button').removeClass('incall');
        $('input#phoneNumber').removeAttr('disabled');

        //Report call stats
        var callDetails = call.getDetails();
        $('div#callLog').append('<div id="stats">Ended: '+new Date(callDetails.endedTime)+'</div>');
        $('div#callLog').append('<div id="stats">Duration (s): '+callDetails.duration+'</div>');
        $('div#callLog').append('<div id="stats">End cause: '+call.getEndCause()+'</div>');
        if(call.error) {
            $('div#callLog').append('<div id="stats">Failure message: '+call.error.message+'</div>');
        }
    }
}

标签: javascript

解决方案


推荐阅读