【发布时间】:2013-12-23 18:49:50
【问题描述】:
我们使用 JWPlayer 进行视频播放,在任何页面中只嵌入了一个播放器,然后它突然停止执行回调,尽管在注册监听器时它不会抛出错误(对于 onPause、onPlay 和 onComplete)。
嵌入继续正常工作。播放器响应用户交互以暂停、播放等。但是,当这些发生时,不会触发回调。
作为故障排除的一部分,我已将回调替换为非常简单的故障排除功能,例如
jwplayer().onPause( function(event) { alert('pause!'); return true; } );
在 IE 和 Chrome 的 JavaScript 控制台中,没有显示 JavaScript 错误。围绕每个 JWPlayer JavaScript 调用的故障排除语句(警报)表明没有引发错误。将所有对 JWPlayer 的调用包装在 try/catch 块中并警告任何创建的错误消息都不会执行任何操作。
在页面加载后的 JavaScript 控制台中,执行 jwplayer().play() 等控制方法会表现出以下行为:不会改变播放器的实际播放状态,但会触发回调。
JWPlayer 版本为“5.9.2156(授权版)”。
编辑:另一个线索:在 JavaScript 控制台中,即使播放器暂停,警告 jwplayer().getState() 也会显示“正在播放”。
编辑:在我们的测试中,禁用 HTML5 模式可防止出现此错误,但不是最佳选择。
【问题讨论】:
-
你能提供一个链接吗?
-
没有。代码必须在部署之前工作,并且现在位于内部开发服务器上。我的老板想知道这是否可能是由于使用了许可版本;我相信我在其他地方看到过一些帖子,表明使用许可版本与未许可版本的回调行为存在差异。
-
JW5 的所有内容都托管在您的服务器上,而不是我们的服务器上,因此我们无法诊断一个突然出现的问题而没有看到它。许可版本与未许可版本应该没有区别。
-
其他人可能也看到了这个错误。我仍然充满希望。 :) 如果您想知道如何引用或使用代码,我可以提供更多信息。我认为要求链接到不公开的内容然后举手是没有帮助的。
-
由于您还通过电子邮件、此处和论坛与我们合作,我建议您通过电子邮件向我发送一个测试页面或压缩包,然后我可以在我自己的本地主机上进行测试。谢谢。
标签: javascript video callback jwplayer