无法在Firefox中将HTML5视频标记静音

时间:2015-02-27 09:57:55

标签: javascript html5 firefox html5-video webrtc

我想与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获得媒体流。

这是一个已知问题,如果有解决此问题的解决方法吗?

感谢。

3 个答案:

答案 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;