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

为什么video.js会干扰html5视频';静音';,html,video,video.js,Html,Video,Video.js,我在页面上使用下面的视频标签,这样当用户更改音量时,后续视频查看时会记住它- <video class="video-js vjs-default-skin" controls preload="none" id="video1" data-setup="{}" onvolumechange="setVolume(this.volume,this.muted)"> 除非按下静音按钮,否则会记住音量。我可以省略data setup=“{}”,它的工作原理也是一样的 我遇到的问题是当我

我在页面上使用下面的视频标签,这样当用户更改音量时,后续视频查看时会记住它-

<video class="video-js vjs-default-skin" controls preload="none" id="video1" data-setup="{}" onvolumechange="setVolume(this.volume,this.muted)">
除非按下静音按钮,否则会记住音量。我可以省略data setup=“{}”,它的工作原理也是一样的

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

data-setup="{}" onvolumechange="setVolume(this.volume,this.muted)"
卷被记住,但静音不被记住,事实上,在页面刷新后,卷被设置为100%。但如果我省略了data setup=“{}”,则会记住静音,并且效果良好


显然,数据设置=“{}”是导致此问题的原因。那么它为什么要这样做,video.js中的哪些内容相互冲突,我该如何解决它呢?

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

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

});

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

我在video.js中遇到的另一个问题是,很高兴您能解决这个问题。
videojs("video1").ready(function(){
  var myPlayer = this;
  getVolume(myPlayer);

});