首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS应用程序:用本地播放器替换webview中的Flash

iOS应用程序:用本地播放器替换webview中的Flash
EN

Stack Overflow用户
提问于 2014-01-21 03:40:40
回答 2查看 1.1K关注 0票数 1

我即将开发我的第一个iOS应用程序。对于第一个版本,主要目标是使应用程序成为我网站的网页视图。到目前为止,这很容易,只需将一个webview指向正确的url。我需要帮助的部分是用本地视频播放器替换webview中的Flash视频播放器。

基本上,在网站上,我有一个Flash视频播放器,用RTMP连接到流视频服务器。到目前为止,该网站需要使用闪存视频(因此转换为HTML5视频不是一个选项)。iOS应用程序应该显示网站的原样,除了找到Flash并用本地视频播放器替换它,这样视频播放仍然可以在iPhone/iPad上运行。

有人对此有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-21 07:01:27

这是可以做到的。它可能不干净和漂亮,但这里有一种可能的方法:您需要在显示HTML之前解析它。

首先,您需要拦截UIWebView的load请求调用,以便检查它是否正在调用包含需要解析的Flash的页面的URL。若要拦截加载请求调用,请使用UIWebViewDelegate方法webView:shouldStartLoadWithRequest:navigationType:读取该URL。

如果该URL与您需要从其中删除Flash的URL匹配,那么您将运行代码,该代码将加载一个HTML,然后解析到web视图中(稍后将详细介绍),并将NO返回给webView:shouldStartLoadWithRequest:navigationType:委托方法。这意味着当用户试图使用Flash访问页面时,我们将停止UIWebView的操作,并使用自己解析的内容加载视图。

一旦发现需要解析HTML,就需要进入一个可以使用的变量。要将页面的HTML作为字符串获得:

代码语言:javascript
运行
复制
NSURL *yourURL = [NSURL URLWithString:@"http://google.com"];
NSError *error;
NSString *htmlString = [NSString stringWithContentsOfURL:yourURL encoding:NSUTF8Encoding error:&error];

有了字符串后,要从HTML中删除Flash代码,请参见以下问题:

Comment out a string in HTML before UIWebView can display it

一旦你分析了HTML并摆脱了你的闪存,你就可以用[webView loadHTMLString:string baseURL:nil];把它加载到你的网页视图中了

最后,您需要通过代码将本地电影播放器插入到web视图的顶部。你将不得不处理屏幕旋转和大小调整,以及本地玩家在网页上的位置,但我会留给你的乐趣。

这是大量的原材料,但是应该让你进行一个可能的解决办法。

票数 0
EN

Stack Overflow用户

发布于 2014-01-21 03:46:50

因此,您所要求的是在本机应用程序中显示一个WebView,并在这个WebView中显示一些本机组件。这是做不到的。

为此,您必须构建一个完全本地的应用程序。或者在HTML5中使用WebView。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21248702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档