Videojs上的奇怪错误

时间:2013-07-26 04:22:13

标签: javascript jquery html5 jscript

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

请参见此处的屏幕截图:enter image description here

我发现这个错误,

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

非常感谢帮助。

由于

2 个答案:

答案 0 :(得分:1)

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

您收到Type Error: Floating-point value is not finite错误意味着您向video.js提供的某个参数类型错误。即当你想要一个整数(或类似的东西)时,你可以用一个字符串提供video.js。

因为它是第一次加载页面时有效,您是否尝试在离开页面时从中断处继续播放?

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

这是你应该做的:

清除缓存以获得第一次播放的播放器:

在开始播放之前,播放完成后,在播放过程中,您应记录当前播放时间签名,即:console.log( videojs("id-of-your-video").currentTime() )

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

  • durationchange(如果视频总持续时间发生变化,则会触发)
  • duration(告诉您视频的持续时间。尝试在工作时记录此内容,并在其停止工作后再次查看,并查看值中发生了哪些变化)
  • 如果您仍然遇到问题,请尝试使用视频js timeupdate回调记录值。当前播放位置发生变化时可以调用此事件(可以是每秒几次)。如果所有其他方法都失败了,这个回调可能会让您深入了解获取无效类型值的确切时刻,但如果您遇到问题是尝试从.currentTime()值恢复播放时,它将无法帮助您从用户cookie / sessionStorage / localStorage等存储的错误类型中读取

答案 1 :(得分:0)

您使用服务器执行它还是在本地运行它?因为我在本地运行时遇到了类似的问题。但是当我把文件放在像tomcat或iis这样的服务器或者它工作的任何服务器上时。不确定这个问题只是猜测