【问题标题】:Adding youtube video to my application将 youtube 视频添加到我的应用程序
【发布时间】:2012-02-09 00:03:37
【问题描述】:

这就是我在项目中添加 youtube 视频的方式;我已将这些添加到 viewDidLoad 函数中

UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 480, 300)]; 
NSString *html = @"<html><head> .........."; // its too long so i cut it short
[webView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://www.youtube.com/embed/vLBKOcUbHR0"]];

    [self.view addSubview:web]; 

我看到的是视图;

而我想要的是这样的东西

如果您仔细观察,您会在第二张图片中看到一个 ToolBar 和一个 DOne 按钮,以及一个 UIActivityIndi​​cator,而这些都没有显示在我的图片中。我该如何解决这个问题?

【问题讨论】:

    标签: iphone objective-c cocoa-touch youtube-api


    【解决方案1】:

    这并不是您使用 baseURL 的真正方式。如果 HTML 中有链接,则基本 URL 是相对链接的相对链接 - 将其映射到 youtube 可能根本没有帮助。

    相反,只需从 youtube 复制嵌入代码,如下所示:

    <iframe width="420" height="315" src="http://www.youtube.com/embed/2WNrx2jq184" frameborder="0" allowfullscreen></iframe>
    

    从 iframe 复制 URL 并直接在您的 Web 视图中打开它,如下所示:

    NSURL *URL = [NSURL URLWithString:@"http://www.youtube.com/embed/2WNrx2jq184"];
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];
    [webView loadRequest:request];
    

    应该可以的。

    【讨论】:

    • 有没有办法在不显示开始屏幕的情况下自动播放视频(如缩略图视图,您必须点击播放按钮)?
    • 我不知道。您也许可以做一些 hacky,例如使用 webview stringByEvaluatingJavaScriptFromString 方法在嵌入式播放器上执行脚本以使其播放,但如果 YouTube 更改他们的 API,这听起来很脆弱。
    猜你喜欢
    • 2011-06-30
    • 1970-01-01
    • 2019-04-27
    • 2016-01-15
    • 2012-08-21
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多