如何在 JavaScript 中将麦克风静音

问题描述 投票:0回答:3

所以我正在创建一个视频通话网络应用程序,我想在其中打开/关闭麦克风、视频开/关功能。

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

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

javascript getusermedia
3个回答
5
投票

您使用 getUserMedia() 收到

MediaStream
。流由多个视频和音频轨道组成。

videoMediaStream.getAudioTracks()
将为您提供音轨列表。

videoMediaStream.getAudioTracks()[0].enabled = false
将使您的麦克风静音。

这是文档提到的有关

enabled
属性的内容:

如果 MediaStreamTrack 表示来自摄像机的视频输入,通过将启用设置为 false 来禁用轨道还会更新设备活动指示器,以显示摄像机当前未在录制或流式传输。例如,当音轨以这种方式静音时,iMac 和 MacBook 电脑中摄像头旁边的绿色“使用中”指示灯会关闭。

您可以使用

getVideoTracks()
对您的相机进行类似操作。


0
投票

我已经使用 sveltekit 实现了 webrtc 视频通话网络应用程序的工作演示,我添加了一个功能来切换麦克风和网络摄像头。

https://github.com/harshmangalam/sveltekit-video-meet


-1
投票

我有一个更适合我的解决方案。

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

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

function disableMute() { 
  vid.muted = false;
} 
© www.soinside.com 2019 - 2024. All rights reserved.