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 ready 関数にフックする必要がありました。

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

});

次に、setVolume 関数でmyPlayer.muted(true);を使用する必要があります。通常の html5 ビデオ API の方法の代わりにmyPlayer.muted = true;

于 2013-06-07T06:35:14.013 に答える