2013-07-08 37 views
6

de büyük oyun düğmesi gösterir.Video.js: Ben videonun sonunda büyük oynat düğmesini göstermek istiyorum, bu yüzden kullanıcı kolayca yeniden oynatabilir sonunda

O

ben var ... bu büyük oynat düğmesi (okudum her mesaj hidding o yerine ... göstermekten içindir) varsayılan olarak gösterilen, ama benim için durum böyle değildir gibi görünüyor (video.dev.js dosyasında) şu fonksiyonunu düzenlemek için çalıştı ama hiçbir şey değişmedi: Yanıtlarınız için

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(); 
    } 
}; 

teşekkür ederiz.

cevap

9

Bunu yapmanın birkaç yolu vardır. Video ile sona erdiğinde Düğmeye gösterebilir API:

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

Yoksa video.dev.js değiştirmek istediğiniz takdirde sadece aynı şeyi yapar satırın başındaki gerekir:

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 
    } 
}); 

Veya ile düğmeye zorlayacağını CSS Video oynamıyor zaman (erdi veya durdurulmuş) gösterdi edilecek: Eğer muhtemelen v bakın gizleme hakkında gördüğüm

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

mesajları video.js'nin ersion 3'ü, oynatma düğmesinin sonunda gösterildiği gibi.

+0

Cevabınız için teşekkür ederiz. İyi çalışıyor. – EMG

+0

Aslında, ikinci yöntem çalışmıyor. Ben video.dev.js dosyasını düzenledim ama bu hiçbir şeyi değiştirmedi ... Özlediğim bir şey var mı? – EMG

+0

Videojs.com'dan [indir] (http://www.videojs.com/downloads/video-js-4.1.0.zip) 'i çektim. "demo.html" dosyasında "video.js" ifadesini "video.dev.js" olarak kullanıldı. Benim için çalışıyor. – misterben

4

Bu kodu videojs kodundan sonra yerleştirin. Harika çalışıyor. Bu afiş ve büyük oynatma düğmesini gösterir, aynı zamanda tekrar tekrar videoyu yeniden oynatmak için izin verir sadece: İşe alamayan

<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> 

tek şey firefox ile çıkış tam ekran olduğunu. .. Ama başka ne yapacağımı bilmiyorum.

0

büyük oynat düğmesi ve videonun posteri göstermek için bu eklentiyi yarattı belki de oyuncunun daha yeni bir versiyonunda olduğum için vid.posterImage.show() gibi şeyler yapmak benim için bir şey yapmıyor.

5.19.2 sürümünde (mevcut sürüm), "dinletilen" olay dinleyicisi üzerinde yanlış olarak ayarlanmış olan ayarı yaparak oynatıcının varsayılan durumuna (oynatma düğmesine ilk kez basılmadan önce) sıfırlama gerçekleştirdim.

örnek: büyük düğmeyi, afiş geri getiriyor ve kontrolleri gizler

var player = videojs('player'); 

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

    player.hasStarted(false); 
}); 

.