嵌入Youtube视频显示空白屏幕

时间:2012-02-15 16:02:48

标签: ios webview youtube

从事实开始:

  1. 我正在使用流行的代码片段创建一个对象并将其加载到webview中。
  2. 我正在使用设备。
  3. 我已经通过在其中添加标记来测试webview是否已加载,这一切都很好。
  4. 问题是,嵌入的对象显示空白,显然无法点击,我已经谷歌搜索了几个小时,我似乎无法理解为什么会发生这种情况。我甚至创建了一个html文档,并使用我的计算机浏览器对其进行了测试,缩略图显示正常,但我无法在我的网页浏览中显示,有什么帮助吗?

    更新了更多信息,通过粘贴视频的网址,我得到它以某种方式工作但是我正在使用的代码似乎并没有产生干净的'视频网址,而是产生如下内容:https://www.youtube.com/v/pzhL7jpsiNw?version=3&f=user_uploads&app=youtube_gdata

    通过我的尝试和错误尝试,我意识到我需要这样的事情:http://www.youtube.com/watch?v=pzhL7jpsiNw

    从我浏览过的各种GDATA教程中产生第一个代码的代码是这样的。

    GDataEntryBase *entry2 = [[feed entries] objectAtIndex:indexPath.row];
    NSArray *contents = [[(GDataEntryYouTubeVideo *)entry2 mediaGroup] mediaContents];
    [self embedYouTube:[NSURL URLWithString:[[contents objectAtIndex:0] URLString]] frame:CGRectMake(0, 0, 320, 200)];
    

    [NSURL URLWithString:[[contents objectAtIndex:0] URLString]]生成'详细'链接的版本。

    除了开始操作我认为相当脏的字符串本身之外,有没有办法(我对GDATA API有点无能为力,并且没有时间深入研究它)以获得所需的URL?< / p>

2 个答案:

答案 0 :(得分:0)

我知道你说你不想做字符串操作,但我个人并不认为通过在?分割字符串来剥离GET参数特别脏。

例如:

NSString *dirty = @"https://www.youtube.com/v/pzhL7jpsiNw?version=3&f=user_uploads&app=youtube_gdata";
NSString *clean = [[dirty componentsSeparatedByString:@"?"] objectAtIndex:0];
NSLog(@"%@",clean);

给你https://www.youtube.com/v/pzhL7jpsiNw

如果您需要,可以通过在/v/分割来获取视频ID。

NSString *vid = [[clean componentsSeparatedByString:@"/v/"] objectAtIndex:1];
NSString *newURL = [NSString stringWithFormat:@"http://www.youtube.com/watch?v=%@",vid];

答案 1 :(得分:0)

嘿伙计们刚刚发现Little修复此问题。我已将嵌入视频添加到

?html5=1

然后视频将呈现HTML5播放器而不是Flash播放器。

感谢。