我想与webrtc进行视频通话。我有两个流,一个是本地的,第二个是远程流。
在Chrome中,我将我的视频标签静音,以便不听到导致回声的声音。我的HTML标签就像;
<video style="position:absolute;right:5px;bottom:5px;display: inline;" class="localVideo" autoplay="autoplay"
muted="true"
src="mediastream:3ffffe01-da89-44d9-b9cf-454b11ec6a6a" height="25%" width="25%"></video>
在Firefox muted =“true”属性不起作用,以便我听到自己的声音。我尝试在其他主题中设置多种方式的静音,例如;
var video = document.querySelector("#movie");
video.muted = true;
此代码段与jquery的不同变体无法正常工作。
然后我决定在视频标签中添加controls属性,以便观察Firefox控制按钮的工作原理。我已经看到Firefox控制器上的静音按钮也不起作用。
此问题出现在Firefox 35和Firefox ESR 31.5中,Windows 7 - 8.1,带有Yosemite的macOS。我通过webrtc库localStream获得媒体流。
这是一个已知问题,如果有解决此问题的解决方法吗?
感谢。
答案 0 :(得分:12)
我也遇到过Firefox这个问题,我发现最简单的解决方案是使用onloadedmetadata
事件,如下所示:
video {
width: 200px;
height: 200px;
}
<video
src="https://scontent-lhr3-1.cdninstagram.com/t50.2886-16/12930587_1020784647992081_252978711_n.mp4"
muted
onloadedmetadata="this.muted = true"
onmouseenter="play()"
onmouseleave="pause()"
playsinline>
答案 1 :(得分:2)
注意:在此question
中有更好的答案我在FF45中也遇到过这个问题。解决方案是在代码与DOM中设置静音。
$("#browserCheck").get(0)
<video id="browserCheck" class="img-responsive" autoplay="" muted="true">
$("#browserCheck").get(0).muted
false
$("#browserCheck").get(0).muted = true
true
$("#browserCheck").get(0).muted
true
答案 2 :(得分:1)
我也无法使用Firefox静音视频。 Chrome没问题。我通过将音量设置为零来解决Firefox问题。同样的净效应?
var video = document.querySelector("#movie");
video.volume = 0;