WebRTC - 如何将本地音频输出静音
WebRTC - How to mute local audio output
我试图只在WebRTC中静音本地音频播放,更具体地说是在getUserMedia()之后和建立任何服务器连接之前。我找到的选项都不起作用;穆阿兹汗的这个失败了:
var audioTracks = localMediaStream.getAudioTracks();
// if MediaStream has reference to microphone
if (audioTracks[0]) {
audioTracks[0].enabled = false;
}
源
此技术在此处也描述为"有效",但在 Chrome 版本 39.0.2171.95(64 位)(Ubuntu 14.04)上失败。
据说通过使用音量增益起作用的其他方法:
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
var source = audioContext.createMediaStreamSource(clientStream);
var volume = audioContext.createGain();
source.connect(volume);
volume.connect(audioContext.destination);
volume.gain.value = 0; //turn off the speakers
dr 我不想听到扬声器上麦克风的输入,但我确实想看到我的视频图像。
解决方法
本杰明·特伦特(Benjamin Trent)提出了此解决方法,它通过在视频标签上设置静音属性来使音频静音,如下所示:
document.getElementById("html5vid").muted = true;
也有类似的问题,但它是视频,所以不一样
添加此答案,因为它是事实上的正确答案:
您所说的解决方法是许多主要的WebRTC视频平台使用的解决方法:
navigator.mediaDevices.getUserMedia({ video: true, audio: true })
.then(stream => {
const vid = document.getElementById('html5vid');
vid.autoplay = true;
vid.muted = true;
vid.srcObject = stream;
});
相关文章:
- 如何播放部分音频文件
- 音频控件在mouseover上显示,在mouseout上淡出
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 在JavaScript中输出转义字符
- 如何在jQuery中将函数的输出分配给变量
- 是否可以在浏览器中使用纯JavaScript保存音频流
- Javascript,输出结果后页面不断刷新
- angular不会更改json的音频源
- 通过幻灯片更改事件停止使用jquery的音频
- 如何在角度过滤器内返回 html5 音频/视频作为输出
- 如何使用 Web 音频 API 访问输出缓冲区
- WebRTC - 如何将本地音频输出静音
- 使用HTML5 / javascript更正音频音量输出分贝,关闭预处理
- 网络音频 5.1(6 声道)输出
- 当 MediaElementAudioSource 输出零时,如何播放音频,但 CORS 不再是问题
- 捕获、修改并输出电子音频
- 是否可以使用WebAudioApi对HTML5视频元素音频输出进行后期处理
- 用Nodejs捕获系统音频输出
- Web音频API卷积器似乎不输出零
- 使用Fetch访问JSON数据,输出为音频