UIWebView不在iOS8上播放HTML5视频

时间:2015-01-13 15:12:59

标签: ios html5 video uiwebview ios8

我试图在iOS 8的UIWebView网站上播放HTML5视频。

网址网址为http://m.bild.de/video/clip/fifa-ballon-d-or/aufsager-ballon-dor-abend-39313060,variante=L,wantedContextId=39305342.bildMobile.html

视频的html代码如下所示:

<video controls="" preload="auto" src="http://videos-world.ak.token.bild.de/BILD/39/31/30/60/39313060,property=Video.mp4" poster="http://bilder.bild.de/fotos-skaliert/stand-aufsager-ballon-dor-abend-39313026/3,w=788,c=0.bild.jpg" style="width: 100%; height: 100%;"></video>

上面的代码将异步加载并通过javascript放置。 我无法修改此HTML代码。

一旦文章加载,我就可以看到视频顶部的播放按钮。当我点击它时,按钮会突出显示,但没有任何反应。

在iOS 7上它可以运行。在iOS 8上是不行的。当我在Safari中打开文章时,视频在iOS 7和8上播放正常。

我还为UIWebView添加了这两行,但它仍然无法播放。

self.webView.allowsInlineMediaPlayback = YES;
self.webView.mediaPlaybackRequiresUserAction = NO;

3 个答案:

答案 0 :(得分:8)

我遇到了完全相同的问题(使用iOS 8.3)。在尝试了很多不同的标志(allowsInlineMediaPlayback等)后,没有任何工作 argh

过了一段时间,我已经从here下载了一个演示版,该版本可以立即在iOS 8.3中使用

在这个存储库中,有一个uiwebview的工作演示,显示了本地加载的mp4视频。我已经更改了代码以显示预期的网站。我已经用演示中的视频替换了我的视频,它立即起作用。所以我的问题起源于视频,我将其从wmv文件转换为H264(mp4)。

该视频长度约为3秒,唯一能让它运行的方法是将其放入Adobe After Effects中的新项目并再次导出。之后,它使用以下代码:

<强>目标-C:

NSString *urlAddress = @"http://mywebsite.com/";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView setAllowsInlineMediaPlayback:YES];
self.webView.mediaPlaybackRequiresUserAction = NO;
[webView loadRequest:requestObj];

<强> HTML:

<video id="startpagevideo" loop autoplay>
    <source src="./video/mighty5.mp4" type="video/mp4;"/>
</video>

因此,使用正确编码的视频,它可以在iOS 8.3中使用

干杯 克里斯

答案 1 :(得分:0)

您是否尝试过使用preload属性?我们在内容或UIWebView应用程序中遇到了类似问题,似乎解决了这个问题。

答案 2 :(得分:-1)

检查应用的Info.plist密钥:

应用传输安全设置&gt;允许任意载入=真

我希望有人帮忙! :)

screenshot