0

我在页面上使用以下视频标签,以便在用户更改音量时记住它以供后续视频查看 -

<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 中有什么冲突,我该如何解决呢?

4

1 回答 1

0

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

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

});

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

于 2013-06-07T06:35:14.013 回答