Phonegap html5视频无法播放

时间:2015-01-13 20:22:48

标签: ios html5 cordova video

我正在尝试在iPad的手机屏幕应用中播放视频。

此视频给出了错误:

MEDIA_ERR_SRC_NOT_SUPPORTED

我尝试播放的视频不是本地视频,当我在该视频上使用curl -I时,这是它带来的信息:

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 13 Jan 2015 19:56:03 GMT
Content-Type: video/mp4
Content-Length: 12939401
Last-Modified: Thu, 20 Nov 2014 18:11:31 GMT
Connection: keep-alive
Keep-Alive: timeout=45
Accept-Ranges: bytes

我还试图从外部网站加载另一个视频,它确实有效(它也是一个mp4)。

我的手机版本是3.5.0.0

据我所知,我得到的是受支持的mp4,任何人都可以在这里看到任何错误吗?

3 个答案:

答案 0 :(得分:0)

以防万一这对某人有帮助。请谨慎使用基线配置文件对移动视频进行编码。

似乎视频使用简单的配置文件进行编码。 Safari移动浏览器仅支持具有以下特征的原生视频:

  

iOS(包括iPad)上的Safari目前支持 MPEG-4视频(基线配置文件)和使用 H.264视频(基线配置文件)编码的QuickTime电影支持的音频类型。

正如本页所述:

https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html

答案 1 :(得分:0)

确保服务器支持部分请求,因为我注意到这是iOS的要求。

将视频网址复制到Chrome浏览器中,点击F12 - >网络选项卡查看请求,然后重新加载。你应该看到这样的东西:

GET    200 OK
GET    206 PARTIAL CONTENT
GET    206 PARTIAL CONTENT
...

这告诉您服务器支持部分内容请求,这很好。

如果您通过服务(而不是静态)自行提供视频,则需要在服务器端代码中明确支持此功能。例如,ASP.NET Web API教程在此处:

http://blogs.msdn.com/b/webdev/archive/2012/11/23/asp-net-web-api-and-http-byte-range-support.aspx

答案 2 :(得分:0)

也许您犯了我同样的错误,我花了很多时间尝试使用Access-Control-Allow-Origin配置apache ...但是最后我意识到我正在使用nginx,因此必须修改标头在Nginx上:

add_header“访问控制允许来源”“ *”;