嵌入在 HTML5 中的视频不会在 UIWebView 中播放
Posted
技术标签:
【中文标题】嵌入在 HTML5 中的视频不会在 UIWebView 中播放【英文标题】:Video Embedded in HTML5 won't play in UIWebView 【发布时间】:2013-06-11 17:21:08 【问题描述】:我正在加载一个website,它在第 5 个“页面”的代码中嵌入了一个视频。该视频在完整的 Safari 中播放得很好,但我的应用程序出现问题。加载它的代码是:
- (void)viewWillAppear:(BOOL)animated
NSURL *url = [NSURL URLWithString:_entry.articleUrl];
[_webView loadRequest:[NSURLRequest requestWithURL:url]];
timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/2.0) target:self selector:@selector(tick) userInfo:nil repeats:YES];
当我到达包含视频的页面时,它会显示在框架中: 但是当我点击播放按钮时,应用程序开始出现问题。
单击它后,MPMoviePlayerController 会短暂出现,但会立即消失并重新加载原始 URL,将用户带回问题的第一页。对这里可能发生的事情有什么想法,或者我有更好的方法来编写应用程序以确保视频在正确的控制器中播放?
【问题讨论】:
根据您对UIWebView重新加载原始URL的描述,我感觉这不是视频的问题。你的-tick
方法有什么作用?
@JohnCromartie tick 方法仅在页面加载时显示 UIActivity。正如我之前所说,该 URL 在 Safari 中运行得很好。
我确实尝试了你的代码,它在我的模拟器中运行良好,所以我会说它是别的东西。你能告诉我们你的tick
方法的代码吗?
@Kirualex 它在你的模拟器中播放视频很好吗?我根本玩不了。
这很奇怪。即使您删除了代码的前 2 行以外的所有内容?
【参考方案1】:
你检查过格式吗?如果不是,则它可能是 ios 无法很好地播放的一种文件类型。
如果是这种情况,只需将 mp4 文件拖到 iMovie 中,然后单击共享 -> 导出电影并选择一种与 iPhone 兼容的格式。
【讨论】:
【参考方案2】:该网站包含 iOS 不支持的 Flash 视频文件。
当您在默认 iOS Safari 上播放时,网页会检查其用户代理并自动将您的页面转移到与移动 (iOS) 兼容的网站。
对于您的应用程序,您只需要使用该网络链接:
试试这个网址而不是当前网址: http://kaiopublications.org/content//iLuminateVol1Issue2/html5/index.html
这应该可以在您的应用中使用。
【讨论】:
这个解决方案对你有帮助吗? 问题最终只是在 viewDidDisappear 方法中设置了 about:blank 页面。【参考方案3】:最终的问题是,当视图消失时,它将其设置为 about:blank 页面。因此,当电影控制器接管要播放的视图时,它通过了那行代码。
【讨论】:
以上是关于嵌入在 HTML5 中的视频不会在 UIWebView 中播放的主要内容,如果未能解决你的问题,请参考以下文章