如何在JavaScript中静音麦克风

wbgh16ku  于 2023-03-28  发布在  Java
关注(0)|答案(2)|浏览(837)

所以我正在创建一个视频通话网络应用程序,我想把麦克风开/关,视频开/关功能放在里面。

navigator.mediaDevices.getUserMedia({
            video: true,
            audio: true
            }).then(stream => {
            const video= document.getElementById("my-video");
            video.srcObject = stream
            video.addEventListener('loadedmetadata', () => {
                video.play()
             })

它看起来是这样的。现在我想为我的相机和麦克风创建一个切换功能。我该怎么做呢

yjghlzjz

yjghlzjz1#

您使用getUserMedia()接收到一个MediaStream。流由几个音轨组成,包括视频和音频。
videoMediaStream.getAudioTracks()会给予你一个音轨列表。
videoMediaStream.getAudioTracks()[0].enabled = false将使您的麦克风静音。
这就是文档中提到的关于enabled属性的内容:
如果MediaStreamTrack代表来自摄像头的视频输入,则通过将enabled设置为false来禁用该音轨也会更新设备活动指示器,以显示摄像头当前未进行录制或流式传输。例如,在iMac和MacBook电脑中,当音轨以这种方式静音时,摄像头旁边的绿色“正在使用”指示灯会关闭。
您可以使用getVideoTracks()为您的相机执行类似的操作。

bt1cpqcv

bt1cpqcv2#

我有一个更简单的解决办法,对我来说。

var vid = document.getElementById("myVideo");

function enableMute() { 
  vid.muted = true;
} 

function disableMute() { 
  vid.muted = false;
}

相关问题