为什么video.js会干扰html5视频'静音'

时间:2013-06-06 07:45:35

标签: html5 video video.js

我在页面上使用以下视频标记,这样当用户更改音量时,会记住以后的视频观看次数 -

<video class="video-js vjs-default-skin" controls preload="none" id="video1" data-setup="{}" onvolumechange="setVolume(this.volume,this.muted)">

setVolume调用一个函数来执行存储和检索音量级别。

如果我使用

data-setup="{}" onvolumechange="setVolume(this.volume)"

除非按下静音按钮,否则会记住音量。我可以省略 data-setup =“{}”,它将使用相同的

我遇到的问题是当我使用以下

data-setup="{}" onvolumechange="setVolume(this.volume,this.muted)"
记住音量,但不记得静音,实际上在页面刷新后音量设置为100%。但如果我省略 data-setup =“{}”,则会记住静音并且工作正常。

很明显 data-setup =“{}”是导致此问题的原因。那么为什么要这样做呢,video.js中的内容是冲突的,我该如何解决呢?

1 个答案:

答案 0 :(得分:0)

发现问题。我的脚本需要首先连接到video.js就绪函数,就像这样

videojs("video1").ready(function(){
  var myPlayer = this;
  getVolume(myPlayer);

});

然后在setVolume函数中你需要使用 myPlayer.muted(true); 而不是正常的html5视频API方式 myPlayer.muted = true;