2013-03-13 52 views
1

我正在为使用科尔多瓦的iPad应用程序构建内容。由于该应用程序已经构建并由CMS填充,因此我无法添加任何扩展程序或插件或模块或任何内容(这似乎很重要)。我正在构建的内容几乎完全是由视频驱动的,基本上我有一堆由tap事件触发的<video>标签。正如我所说,这些视频都是从CMS加载的,不包含在应用程序有效载荷本身中。科尔多瓦iPad应用程序 - 视频失速

大多数情况下,它可以正常工作,但偶尔会有视频开始播放,并且会在一半左右停顿。我的视频文件不是很大,只有13秒左右,大约700kb左右。

当视频档,以下错误被记录到控制台:

Took background task assertion (5) for playback stall 
Ending background task assertion (5) for playback stall 

括号中的数目将变化。

我对这是什么意思并没有很好的认识,当谈到Xcode/Cordova世界时,我几乎是一个完全新手 - 前端开发是我的事,但科尔多瓦的世界是新的对我来说。我无法弄清楚是什么原因造成的,它似乎是随机的。我假设它可能是一个比特率/带宽的事情,但这没有任何意义,因为当一个视频被触发时,我会检测到它是readystate以便在播放之前等待它加载,所以理论上它应该是完全的在开始播放之前已加载。

任何解决方案或策略尝试?我有点茫然,当搜索特定的错误信息时,互联网和谷歌搜索没有太大的帮助。

+2

这些错误来自比浏览器/ WebUIView更深的堆栈。他们通常的原因是网络无法保持缓冲区填满。 您指出您正在使用'readystate'来检查预加载,但这在移动Safari中不可靠/不可靠。看看http://stackoverflow.com/questions/11633929/readystate-issue-with-html5-video-elements-on-ios-safari和http://developer.apple.com/library/safari/#documentation /AudioVideo/Conceptual/Using_HTML5_Audio_Video/ControllingMediaWithJavaScript/ControllingMediaWithJavaScript.html#//apple_ref/doc/uid/TP40009523-CH3-SW4 – thefrontender 2013-03-18 01:43:27

回答

1

如果问题是加载,科尔多瓦一个很好的窍门是试图设置它在一个(小)timeOut,以便其余的在视频之前加载。如上所述,readtyState选项并不总是可靠的。

+0

这似乎已将其排序。谢谢! – Scottie 2013-03-22 10:59:47

相关问题