2013-07-26 14 views
11

Non so come succede e non vedo errori. Non riesco a navigare attraverso il video la seconda volta che apro la mia pagina.Bug strano su Videojs

vedi screenshot qui: enter image description here

ho trovato questo errore si dice,

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

Aiuto sarebbe molto apprezzato.

Grazie

+1

Hi Shiro, È un po 'maldestro per capire il tuo problema! per favore, spiegami! Di cosa hai bisogno e qual è il problema esatto? – pixelbyaj

+4

[Qui] (https://github.com/videojs/video.js/blob/master/src/js/media/html5.js#L165) è il problema. Probabilmente stai fornendo l'API video.js con un parametro errato (che non posso dire con certezza, perché non hai fornito alcun codice sorgente). Controlla la firma del tuo metodo e riprova. – Brian

+2

Sospetto che Brian sia corretto, ma se hai ancora problemi dopo si prega di postare un esempio dal vivo su jsfiddle.net o jsbin.com, e darò un'occhiata. – iX3

risposta

0

stai usando un server per eseguirlo o stai in esecuzione localmente. Perché ho riscontrato alcuni problemi simili quando l'ho eseguito localmente. Ma quando inserisco i file in qualche server come tomcat o iis o qualsiasi altro server ha funzionato. Non sei sicuro del problema, solo un'ipotesi

1

Quando dici "Non riesco a navigare nel video la seconda volta che apro la mia pagina"? Intendi dire che non sei in grado di riprodurre il video o che non sei in grado di andare avanti e indietro velocemente all'interno del video?

L'errore Type Error: Floating-point value is not finite indica che un determinato parametro fornito a video.js è del tipo errato. Cioè tu probaby fornisci video.js con una stringa quando vuole un intero (o qualcosa di simile).

Poiché funziona la prima volta che si carica la pagina, si sta tentando di riprendere la riproduzione dal punto in cui si era interrotta quando si è allontanati dalla pagina?

Se questo è il caso si sono probabilmente la memorizzazione dei parametri currentTime un valore cookie o localStorage come una stringa (tramite cookie jQuery per esempio questi di solito vengono automaticalyl stringata) e dimenticando per passare di nuovo a un int quando avete bisogno di video. per poterlo rileggere. Perché quello che ho notato sulla tua screenshot sembra Video.js non conosce la durata del video (cioè il tempo di ricerca dice 0:31/0:00)

Ecco cosa si dovrebbe fare:

Cancella si cache per ottenere un giocatore prima volta carico di lavoro quindi:

prima di avviare la riproduzione, dopo che la riproduzione è terminata e durante la riproduzione è necessario accedere alla firma corrente riproduzione in tempo, vale a dire: console.log(videojs("id-of-your-video").currentTime())

aggiunta di una firma tempo console.logs() a questi callback dell'evento video.js dovrebbe essere d'aiuto:

  • durationchange (licenziato se la durata totale delle modifiche di video)
  • duration (ti dice la durata del video. Prova a registrare questo mentre funziona e di nuovo dopo che smette di funzionare e vedi cosa è cambiato nel valore)
  • Se hai ancora problemi prova a registrare i valori usando il video js timeupdate callback. Questo evento viene chiamato quando la posizione di riproduzione corrente è cambiata (può essere più volte al secondo). Se tutto il resto fallisce questa richiamata potrebbe darti qualche informazione sul momento esatto in cui stai ricevendo il valore di tipo non valido, ma non ti sarà di aiuto se hai problemi a cercare di riprendere la riproduzione da un valore .currentTime() da un valore errato digitare memorizzato nell'utente cookie/sessionStorage/localStorage ecc.
Problemi correlati