有人知道为什么下面的版本在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):
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>";……
- (void)layoutSubviews {
[self stringByEvaluatingJavaScriptFromString:
[NSString stringWithFormat:@"controls.width = %0.0f; controls.height = %0.0f", kDefaultWidth,kDefaultHeight]];
}……
NSString* html = [NSString stringWithFormat:kEmbedHTML, kDefaultWidth, kDefaultHeight, kDefaultWidth, kDefaultHeight, _urlPath, _urlPath, kDefaultWidth, kDefaultHeight];
[self loadHTMLString:html baseURL:nil] ;发布于 2011-10-21 00:29:21
我能找到的唯一的解决方案就是嗅探URL的类型(即Youtube),并使用loadRequest来处理非Youtube的内容,使用loadHTMLString来处理Youtube的内容。
非常老套,但它对我很有效,让我克服了iOS5带来的痛苦。
发布于 2011-10-18 01:59:16
尝试将html中的"embed“替换为"iframe”。
如果它适用于你的非youtube内容,你可以通过在链接代码中将"watch?v=“替换为"embed/”来使你的youtube链接起作用。
https://stackoverflow.com/questions/7748979
复制相似问题