【发布时间】:2014-04-01 10:32:47
【问题描述】:
我已经推出了一段时间的应用程序,它使用UIWebViews 在某些视图中显示 YouTube 视频。今天,在没有对代码进行任何更改的情况下,我的用户开始抱怨 YouTube 嵌入不起作用:带有静止帧和播放按钮的嵌入显示正常,但单击播放按钮后,嵌入屏幕变黑,没有加载,没有声音或视频。
这是我生成嵌入代码以从 YouTube ID 放入 UIWebView 的函数:
+ (NSString*)codeForYouTubeID:(NSString*)videoID width:(NSUInteger)width height:(NSUInteger)height
{
static NSString *fmt =
@"<iframe width='%d' height='%d' src='http://www.youtube.com/embed/%@?showinfo=0&modestbranding=1&rel=0&showsearch=0' frameborder='0' scrolling='0' allowfullscreen></iframe>";
return [NSString stringWithFormat:fmt, width, height, videoID];
}
将生成的代码放入JSFiddle 嵌入显示并正常播放。我还使用了以下具有相同结果的替代格式字符串(来自 StackOverflow 答案here):
static NSString *fmt =
@"<object>\
<param name=\"movie\" value=\"http://www.youtube.com/v/%@\"></param>\
<embed src=\"http://www.youtube.com/v/%@\" type=\"application/x-shockwave-flash\"></embed>\
</object>";
这具有相同的结果,但具有笨拙的自动尺寸嵌入。行为是相同的:用户可以单击播放按钮,然后嵌入框架变黑,没有其他任何反应。对我来说,这发生在我的测试手机(iPhone 4、iOS 7)和模拟器(iOS6 和 7)上。这在今天之前没有发生,并且没有更改任何代码。最近有没有其他人经历过这种情况?
【问题讨论】:
标签: ios iphone uiwebview youtube embed