2013-06-22 15 views
5

Użyłem tego samego znacznika co na przykładowej stronie demo, ale domyślny parametr naprawdę nie działa. Nie widzę autoodtwarzania napisów. Muszę ręcznie przejść do wyboru napisów i wybrać ścieżkę.video.js Jak ustawić domyślnie napisy?

<track kind="subtitles" src="" srclang="en" label="English" /> 
    <track kind="subtitles" src="" srclang="it" label="Italian" default /> 

Co robię źle? czy to błąd?

Odpowiedz

0

Mam takie samo zachowanie w najnowszym wideo.js w wersji 4.1.

Domyślne napisy były widoczne w wersji 3.x - nie są już dostępne w wersji 4.x! Użytkownik musi ręcznie kliknąć ikonę napisów i wybrać język napisów, aby podtytuły były widoczne! Parametr domyślny jest ustawiony dokładnie tak samo, jak w wersji 3.x, który poprawnie wyświetlał napisy bez interwencji użytkownika.

0

Domyślny parametr nie wydaje się teraz robić nic w wersji 4.1.0. Wystąpił problem z tym związany: here. Dodatkowo, dzięki mojemu zrozumieniu API, nie ma świetnej metody (bez kompilacji własnego odtwarzacza z większą funkcjonalnością odsyłaczy za pośrednictwem exports.js), aby programowo wybrać domyślny utwór, który ma być "bezpieczny" w tej chwili zarówno.

Moja rekomendacja polegałaby na usunięciu komentarza z wiersza, o którym mowa w błędzie, wykonaniu testów i (zakładając, że wszystko działa) przesłaniu żądania wycofania do repozytorium wideojs umożliwiającego domyślny wybór ścieżki.

0

Spróbuj usunąć srclang="en" z angielskich napisów. Chociaż jest to błąd, usunięcie tego, co wydaje się naprawić problem dla komentera "Crixo" na tym issue page.

3

Możesz użyć javascript (jQuery), aby automatycznie wywołać zdarzenie click dla menu napisów, gdy odtwarzacz jest gotowy. Spowoduje to wyświetlenie napisu bez klikania go ręcznie.

videojs("vdoPlayer", {}, function(){ 
    // Player (this) is initialized and ready. 
    $("li.vjs-menu-item").eq(2).trigger('click'); 
}); 

Być może trzeba będzie zmienić wartość eq() w zależności od klikniętego elementu menu. użyj console.log ($ ("li.vjs-menu-item"). eq (2) .text()); aby określić, które menu jest które.

+1

Działa to tylko dla mnie w Firefoksie. IE10 i Chrome nie mogą znaleźć li.vjs-menu-item Próbowałem zmienić indeks eq(), ale to nie wydaje się być problemem. Jeśli udało ci się to zrobić w innych dużych przeglądarkach, chciałbym usłyszeć jak. – Alpinist1974

1

To działało w porządku dla mnie na iPadzie (Chrome, Safari) i Windows 7 PC (FF, Chrome):

<track kind="captions" src="demo.captions.vtt" srclang="en" label="English" default></track> 

Używam videojs 4.6.2, być może została ona ustalona, ​​ponieważ kwestia ta była spytał.

Powiązane problemy