所以我正在创建一个视频通话网络应用程序,我想把麦克风开/关,视频开/关功能放在里面。
navigator.mediaDevices.getUserMedia({
video: true,
audio: true
}).then(stream => {
const video= document.getElementById("my-video");
video.srcObject = stream
video.addEventListener('loadedmetadata', () => {
video.play()
})
它看起来是这样的。现在我想为我的相机和麦克风创建一个切换功能。我该怎么做呢
2条答案
按热度按时间yjghlzjz1#
您使用
getUserMedia()
接收到一个MediaStream。流由几个音轨组成,包括视频和音频。videoMediaStream.getAudioTracks()
会给予你一个音轨列表。videoMediaStream.getAudioTracks()[0].enabled = false
将使您的麦克风静音。这就是文档中提到的关于
enabled
属性的内容:如果MediaStreamTrack代表来自摄像头的视频输入,则通过将enabled设置为false来禁用该音轨也会更新设备活动指示器,以显示摄像头当前未进行录制或流式传输。例如,在iMac和MacBook电脑中,当音轨以这种方式静音时,摄像头旁边的绿色“正在使用”指示灯会关闭。
您可以使用
getVideoTracks()
为您的相机执行类似的操作。bt1cpqcv2#
我有一个更简单的解决办法,对我来说。