Kiedy mówisz "Nie mogę nawigować po filmie po raz drugi, kiedy otwieram swoją stronę"? Czy masz na myśli, że nie możesz w ogóle odtworzyć filmu lub że nie można przewijać do przodu i do tyłu w obrębie odtwarzanego wideo?
Otrzymany błąd Type Error: Floating-point value is not finite
oznacza, że określony parametr dostarczany do pliku video.js jest nieodpowiedniego typu. To znaczy. próbujesz dostarczyć wideo.js z ciągiem, gdy chce on liczby całkowitej (lub czegoś podobnego).
Ponieważ działa po załadowaniu strony po raz pierwszy, czy próbujesz wznowić odtwarzanie od miejsca, w którym zostało przerwane, gdy nawigujesz z dala od strony?
Jeśli to przypadek to prawdopodobnie przechowywania parametru currentTime
w cookie
lub localStorage
wartość jako ciąg (przy użyciu jQuery ciasteczka na przykład te zazwyczaj się automaticalyl stringified) i zapominając, aby przełączyć się z powrotem do int kiedy trzeba wideo. js, aby to przeczytać. Bo co zauważam o swojej zrzucie to wydaje video.js nie zna czas trwania filmu (czyli czas poszukiwania mówi 0:31/0:00)
Oto co należy zrobić:
jasne buforować, aby uzyskać czas pracy najpierw załadować odtwarzacza następnie:
Przed rozpoczęciem odtworzyć, po zakończeniu odtwarzania, a podczas odtwarzania należy zalogować aktualny metrum odtwarzania, a mianowicie: console.log(videojs("id-of-your-video").currentTime())
Dodawanie metrum console.logs()
do tych wywołań zdarzeń wideo.js powinno pomóc:
- durationchange (zwolniony, jeżeli łączny czas trwania swoimi zmianami wideo)
- duration (informuje o czas trwania filmu. Spróbuj zalogować to podczas pracy i ponownie po zatrzymaniu pracy i zobacz, co zmieniło się w wartości)
- Jeśli nadal masz problemy z próbą zarejestrowania wartości przy użyciu połączenia zwrotnego wideo js timeupdate. To wydarzenie jest wywoływane, gdy zmieniła się aktualna pozycja odtwarzania (może być kilka razy na sekundę). Jeśli wszystko inne zawiedzie, to wywołanie zwrotne może dać ci wgląd w moment, w którym otrzymujesz niepoprawną wartość typu, ale to nie pomoże, jeśli próbujesz wznowić odtwarzanie z odczytu wartości
.currentTime()
z nieprawidłowego typ przechowywany w użytkowniku cookie
/sessionStorage
/localStorage
itd.
Witam Shiro, To trochę niezdarne, aby zrozumieć swój problem! Czy mógłbyś wyjaśnić? Czego potrzebujesz i jaki jest dokładny problem? – pixelbyaj
[tutaj] (https://github.com/videojs/video.js/blob/master/src/js/media/html5.js#L165) jest problemem. Prawdopodobnie dostarczasz API video.js z niepoprawnym parametrem (którego nie mogę powiedzieć na pewno, ponieważ nie dostarczyłeś żadnego kodu źródłowego). Sprawdź podpis metody i spróbuj ponownie. – Brian
Podejrzewam, że Brian ma rację, ale jeśli nadal masz problemy po opublikowaniu na żywo przykładu na jsfiddle.net lub jsbin.com, przyjrzę mu się. – iX3