2013-07-26 23 views
11

Nie wiem, jak to się dzieje i nie widzę żadnych błędów. Nie mogę poruszać się po filmie po raz drugi po otwarciu strony.Dziwny błąd na Videojs

See screenshot tutaj: enter image description here

znalazłem ten błąd Mówi

TypeError: Floating-point value is not finite. 
"Video is not ready. (Video.js)" 

pomoc będzie bardzo mile widziane.

Dzięki

+1

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

+4

[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

+2

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

Odpowiedz

0

używasz serwera, aby go wykonać lub są uruchomione lokalnie. Ponieważ pojawiły się podobne problemy, gdy uruchomiłem je lokalnie. Ale kiedy umieściłem pliki na jakimś serwerze, jak tomcat lub iis, czy jakikolwiek serwer, który działał. Nie wiesz o problemie tylko zgadnąć

1

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.
Powiązane problemy