在应用程序外加载YouTube

时间:2011-12-29 20:32:10

标签: iphone sdk uiwebview youtube

我有一个简单的UIWebView,显示包含YouTube缩略图的页面。当我点击它时,它会将其加载到应用程序中,但我希望它在YouTube应用程序中的应用程序之外加载。 怎么办呢?

感谢。

2 个答案:

答案 0 :(得分:1)

应该像加载YouTube-video-url一样简单:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=abcde12345"]];

它无法在模拟器中运行,因为它没有YouTube应用程序,但它可以在iPhone上运行(我希望,未经测试)。

(我也看到你的接受率非常低,你应该点击你觉得最好答案的答案旁边的小✔。这样人们想知道同样的事情可以找到最有用的快速回答,发布答案的人将获得认证。)

修改 下面是一个示例,说明如何抓住YouTube网址并在YouTube应用中打开它们,而不是在应用中打开它们:

- (BOOL)webView:(UIWebView *)wv shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    // Determine if we want the system to handle it.
    NSURL *url = request.URL;
    if ([url.host isEqual:@"youtube.com"] && ([url.query rangeOfString:@"watch"] != 0)) {
        if ([[UIApplication sharedApplication]canOpenURL:url]) {
            [[UIApplication sharedApplication]openURL:url];
            return NO;
        }
    }
    return YES;
}

这未经过测试,但应该有效:)

答案 1 :(得分:0)

来自http://apiblog.youtube.com/2009/02/youtube-apis-iphone-cool-mobile-apps.html

  

方法2:将YouTube播放器嵌入UIWebView

     

不,iPhone仍然没有Flash,但如果你还没有   注意到,iPhone上的Safari浏览器非常聪明,可以随意转动   YouTube嵌入了一个可点击的缩略图,用于启动本机   手机上的YouTube播放器应用。你可以利用这个   通过使用UIWebView在您的应用程序中的功能。方法如下:

     
      
  1. 在您的应用中设置UIWebView。您可以将其作为xib的一部分或以编程方式创建它。根据大小调整UIWebView的大小   你想要可点击的缩略图。

  2.   
  3. 使用与上述方法相同的方法抓取视频网址。

  4.   
  5. 使用包含YouTube的精心构建的HTML调用UIWebView实例上的loadHTMLString:baseURL:方法   嵌入式播放器代码段和一些支持HTML以确保   视频缩略图正确显示。将基本URL设置为   您网站的网址(此处不做任何事情 - 通常   UIWebView使用它来正确处理相对URL链接。

  6.         

    说明这一点的最佳方法是使用代码段。注意使用   视口HTML元参数和宽度的一致使用   和高度参数。

         

    // webView是一个UIWebView,可以通过编程方式初始化,也可以   作为xib的一部分加载。

         

    NSString * htmlString = @“”;

         

    [webView loadHTMLString:htmlString baseURL:[NSURL   URLWithString:@ “http://www.your-url.com”]];

         

    这种方法的最大好处之一是您的应用程序没有   必须退出才能让视频开始播放。事实上,   iPhone会在启动时让您的应用在后台运行   YouTube播放器播放视频。视频播放完毕后   (或当用户点击“完成”)时,用户将被自动收回   到你的应用程序。这种体验与观看嵌入式非常相似   iPhone Safari浏览器中的YouTube视频同样无缝。