11

これがどのように発生するのかわかりませんし、エラーも表示されません。ページを 2 回目に開いたときに、ビデオをナビゲートできないようです。

ここでスクリーンショットを参照してください:ここに画像の説明を入力

私はそれが言うこのエラーを見つけました、

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

助けていただければ幸いです。

ありがとう

4

2 に答える 2

1

「自分のページを 2 回目に開いたときに動画をナビゲートできないようです」と言うときは?ビデオをまったく再生できないということですか、それとも再生中のビデオ内で早送りと巻き戻しができないということですか?

エラーがType Error: Floating-point value is not finite発生しているということは、video.js に指定している特定のパラメーターの型が間違っていることを意味します。つまり、整数 (または同様のもの) が必要な場合は、おそらく video.js に文字列を指定します。

ページを最初に読み込んだときに機能するため、ページから移動したときに中断したところから再生を再開しようとしていますか?

その場合は、おそらくcurrentTimeパラメーターをcookieまたはlocalStorage値に文字列として保存し (たとえば、jQuery Cookie を使用すると、これらは通常自動的に文字列化されます)、video.js が必要なときにそれを int に戻すのを忘れています。 . あなたのスクリーンショットについて気付いたのは、video.js がビデオの長さを認識していないように見えるためです (つまり、シーク時間は 0:31 / 0:00 と表示されます)。

すべきことは次のとおりです。

キャッシュをクリアして、初めてプレーヤーをロードしてから、次のようにします。

再生を開始する前、再生が終了した後、および再生中に、現在の再生拍子記号をログに記録する必要があります。console.log( videojs("id-of-your-video").currentTime() )

これらの video.js イベント コールバックに拍子記号console.logs()を追加すると、次のことが可能になります。

  • durationchange (動画の合計再生時間が変更された場合に発生)
  • 持続時間(ビデオの長さを示します。動作中にこれを記録し、動作が停止した後にもう一度記録して、値の変化を確認してください)
  • それでも問題が解決しない場合は、video js のtimeupdateコールバックを使用して値を記録してみてください。このイベントは、現在の再生位置が変更されたときに呼び出されます (1 秒間に数回発生する可能性があります)。.currentTime()他のすべてが失敗した場合、このコールバックは、無効な型の値を取得している正確な瞬間についての洞察を提供する可能性がありますが、誤った型から読み取った値から再生を再開しようとして問題がある場合は役に立ちません。ユーザーcookie/ sessionStorage/localStorageなどに保存されます。
于 2014-07-06T17:56:07.360 に答える