11

我不知道这是怎么发生的,我看不到任何错误。第二次打开页面时,我似乎无法浏览视频。

在此处查看屏幕截图:在此处输入图像描述

我发现它说这个错误,

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

帮助将不胜感激。

谢谢

4

2 回答 2

1

当您说“我第二次打开页面时似乎无法浏览视频”?您的意思是您根本无法播放视频,或者您无法在正在播放的视频中快进和快退?

您收到Type Error: Floating-point value is not finite错误意味着您提供给 video.js 的某个参数类型错误。也就是说,当它需要一个整数(或类似的东西)时,你可能会为 video.js 提供一个字符串。

因为它在您第一次加载页面时工作,所以您是否试图在您离开页面时从中断的地方继续播放?

如果是这种情况,您可能会将currentTime参数存储在 acookielocalStorage值中作为字符串(例如使用 jQuery cookie,这些通常会自动字符串化)并且在需要 video.js 将其读回给您时忘记将其切换回 int . 因为我注意到您的屏幕截图似乎 video.js 不知道您的视频的持续时间(即搜索时间为 0:31 / 0:00)

这是你应该做的:

清除缓存以获得第一次播放器加载,然后:

在开始播放之前、播放完成之后以及在播放过程中,您应该记录当前的播放拍号,即:console.log( videojs("id-of-your-video").currentTime() )

console.logs()向这些 video.js 事件回调添加时间签名应该可以帮助您:

  • durationchange(如果视频的总时长发生变化,则触发)
  • 持续时间(告诉您视频的持续时间。尝试在它工作时记录它,并在它停止工作后再次记录,看看值有什么变化)
  • 如果您仍然遇到问题,请尝试使用视频 js timeupdate回调记录值。当当前播放位置发生变化时调用此事件(可以每秒多次)。如果所有其他方法都失败,此回调可能会让您深入了解获取无效类型值的确切时间,但如果您在尝试.currentTime()从不正确类型读取的值中恢复播放时遇到问题,它将无济于事存储在用户cookie//sessionStoragelocalStorage
于 2014-07-06T17:56:07.360 回答
0

您是使用服务器执行它还是在本地运行它。因为我在本地运行时遇到了一些类似的问题。但是,当我将文件放在某个服务器(如 tomcat 或 iis 或任何它工作的服务器)中时。不确定这个问题只是一个猜测

于 2013-12-10T11:22:42.870 回答