2013-07-08 10 views
6

動画の最後に大きな再生ボタンを表示したいので、簡単に再生できます。Video.js:最後に大きな再生ボタンを表示

それは(...それは代わりにそれを示すの私が読んで、すべての記事がhiddingのためのものです)この大きな再生ボタンがデフォルトで表示されているようですが、それは私にとってはそうではありません...

私が持っています次の機能(video.dev.jsファイル)を編集しようとしましたが、何も変更されていません。

vjs.Player.prototype.onEnded = function(){ 
    if (this.options_['loop']) { 
     this.currentTime(0); 
     this.play(); 
    } 
    else { // I am not using loop mode 
     this.bigPlayButton.show(); 
     this.pause(); 
    } 
}; 

ご回答ありがとうございます。

答えて

9

これを行うにはいくつかの方法があります。

videojs("myPlayer").ready(function(){ 
    var myPlayer = this; 
    myPlayer.on("ended", function(){ 
    myPlayer.bigPlayButton.show(); 
    }); 
}); 

それとも、あなただけの同じことを行のコメントを解除する必要がvideo.dev.jsを変更したいならば:

vjs.BigPlayButton = vjs.Button.extend({ 
    /** @constructor */ 
    init: function(player, options){ 
    vjs.Button.call(this, player, options); 

    if (!player.controls()) { 
     this.hide(); 
    } 

    player.on('play', vjs.bind(this, this.hide)); 
    // player.on('ended', vjs.bind(this, this.show)); // uncomment this 
    } 
}); 

かとビデオがAPIで終わるときは、ボタンを表示することができますあなたがボタンを強制することができCSSは、動画が再生されていない時はいつでも(終了または一時停止)を示したことにする:あなたは、それはおそらくVを参照してください隠れるくらい見てきました

.video-js.vjs-default-skin.vjs-paused .vjs-big-play-button {display:block !important;} 

投稿をそれは、再生ボタンが最後に表示されていたためです。

+0

ご回答いただきありがとうございます。それはうまく動作します。 – EMG

+0

実際、2番目の方法は機能しません。私はvideo.dev.jsファイルを編集しましたが、この変更はありません...私が見逃したことはありますか? – EMG

+0

私はvideojs.comから[download](http://www.videojs.com/downloads/video-js-4.1.0.zip)を取り出し、 'video.dev.js'の行のコメントを外して'video.js'から' video.dev.js'に 'demo.html'で使われているスクリプトです。私のために働く。 – misterben

4

このコードをvideojsコードの後に​​挿入します。よく働く。これは、ポスターと大きな再生ボタンを示しているが、また、あなたが何度も何度もビデオを再プレイすることができないだけで:私は仕事に取得することはできません

<script type="text/javascript"> 
    var vid = videojs("YOUR-VIDEO-ID"); 
    vid.on("ended", function() 
     { 
      vid.posterImage.show(); //shows your poster image// 
      vid.currentTime(0); 
      vid.controlBar.hide(); //hides your controls// 
      vid.bigPlayButton.show(); //shows your play button// 
      vid.cancelFullScreen(); //cancels your fullscreen// 
      document.mozCancelFullScreen(); //cancels your fullscreen in firefox// 
     }); 
    vid.on("play", function() //function to play the video again// 
     { 
      vid.posterImage.hide(); //hides your poster// 
      vid.controlBar.show(); //shows your controls// 
      vid.bigPlayButton.hide(); //hides your play button// 
     }); 
</script> 

唯一のことは、Firefoxで終了フルスクリーンです。 ..しかし、私は何をすべきか分からない。

0

を表示するには、このプラグインを作成し、おそらくそれは私が新しいバージョンのプレーヤーにいるためです。だから、vid.posterImage.show()のようなことは私には何もしません。

バージョン5.19.2(現在のリリース)では、イベントリスナー「終了」でhasStartedをfalseに設定することで、プレイヤーをデフォルト状態(リセットボタンを最初に押す前)にリセットすることができました。

例:

var player = videojs('player'); 

player.on("ended",function(){ 

    player.hasStarted(false); 
}); 

大きなボタン、ポスターに戻しますと、コントロールが非表示になります。

関連する問題