我试图在iOS 8的UIWebView
网站上播放HTML5视频。
视频的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;
答案 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)