首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS5、uiwebview和视频

iOS5、uiwebview和视频
EN

Stack Overflow用户
提问于 2011-10-13 10:56:55
回答 2查看 1.8K关注 0票数 2

有人知道为什么下面的版本在4.3版本中一直运行得很好,现在却不能与iOS5软件开发工具包一起工作(有没有办法让它工作)?我有一个通用的视频播放器,使用此方案来播放多种格式和Youtube,并想继续使用它。它只是不加载视频(即使webview完成了加载)。在iOS5中,它仍然可以加载和播放Youtube视频,只是没有HTTP Live Streams或非Youtube视频(即mp4)。

如果我使用iOS4.3构建并在iOS5设备(iPad)上运行它,它工作得很好。当我使用iOS5 SDK构建时,它会失败。注意:我保留了Xcode3.x和iOS 4.3以防万一。

另一方面,我可以让HTML5视频标签播放实况流和mp4s,但无论我使用多少宽度和高度,都不能调整它的大小。

不管怎样,下面是代码(UIWebview):

代码语言:javascript
复制
static NSString* kEmbedHTML = @"<html><head><meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no, width=%0.0f, height=%0.0f\"/></head><body style=\"background:#fff;margin-top:0px;margin-left:0px\"><div><object width=\"%0.0f\" height=\"%0.0f\"><param name=\"movie\" value=\"%@\"></param><param name=\"wmode\"value=\"transparent\"></param><embed id=\"yt\" airplay=\"allow\" src=\"%@\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"%0.0f\" height=\"%0.0f\"></embed></object></div></body></html>";

……

代码语言:javascript
复制
- (void)layoutSubviews {
[self stringByEvaluatingJavaScriptFromString:
 [NSString stringWithFormat:@"controls.width = %0.0f; controls.height = %0.0f", kDefaultWidth,kDefaultHeight]];
}

……

代码语言:javascript
复制
NSString* html = [NSString stringWithFormat:kEmbedHTML, kDefaultWidth, kDefaultHeight, kDefaultWidth, kDefaultHeight, _urlPath, _urlPath, kDefaultWidth, kDefaultHeight];
[self loadHTMLString:html baseURL:nil] ;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-21 00:29:21

我能找到的唯一的解决方案就是嗅探URL的类型(即Youtube),并使用loadRequest来处理非Youtube的内容,使用loadHTMLString来处理Youtube的内容。

非常老套,但它对我很有效,让我克服了iOS5带来的痛苦。

票数 0
EN

Stack Overflow用户

发布于 2011-10-18 01:59:16

尝试将html中的"embed“替换为"iframe”。

如果它适用于你的非youtube内容,你可以通过在链接代码中将"watch?v=“替换为"embed/”来使你的youtube链接起作用。

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

https://stackoverflow.com/questions/7748979

复制
相关文章

相似问题

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