【问题标题】:Weird bug on VideojsVideojs上的奇怪错误
【发布时间】:2013-07-26 04:22:12
【问题描述】:

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

在此处查看屏幕截图:

我发现它说的这个错误,

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

非常感谢您的帮助。

谢谢

【问题讨论】:

  • 嗨 Shiro,理解你的问题有点笨拙!请你解释一下!您需要什么以及确切的问题是什么?
  • Here 是问题所在。您可能为 video.js API 提供了不正确的参数(我不能肯定地说,因为您没有提供任何源代码)。检查您的方法签名,然后重试。
  • 我怀疑 Brian 是正确的,但如果您在 jsfiddle.net 或 jsbin.com 上发布一个现场示例后仍然遇到问题,我会看看。
  • 您是否尝试过将此代码保存在某些服务器上,如 tomcat、IIS 等,而不是在本地驱动器上运行。
  • 我们需要知道,如何调用 setCurrentTime 方法以及作为参数传递的内容。由于类型错误定义如下,因此您肯定传递了错误类型的参数:“TypeError:当值不是预期类型时表示错误。” (MSDN)

标签: javascript jquery html jscript


【解决方案1】:

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

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

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

如果是这种情况,您可能将 currentTime 参数作为字符串存储在 cookielocalStorage 值中(例如,使用 jQuery cookie 这些通常会自动字符串化)并且忘记将其切换回 int当您需要 video.js 将其读回给您时。因为我注意到您的屏幕截图似乎 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 等中存储的类型不正确。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 2012-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多