自动播放 YouTube 视频:Objective-C

3
我希望使用Objective-C自动播放一段从特定时间开始的Youtube视频。 我使用了以下代码:
    - (void)viewWillAppear:(BOOL)animated
{
     [super viewWillAppear:animated];

     NSLog(@"%s",__FUNCTION__);

    appDelegate = (AppDelegate *) [[UIApplication sharedApplication]delegate];
    float width = 309.0f;
    float height = 196.0f;

    NSString *youTubeURL = @"http://www.youtube.com/embed/Gyf1kjaUZCo?autoplay=1";

    UIWebView *wv = [[UIWebView alloc] init];
    wv.frame = CGRectMake(0, 0, width, height);

    NSMutableString *html = [[NSMutableString alloc] initWithCapacity:1];
    [html appendString:@"<html><head>"];
    [html appendString:@"<style type=\"text/css\">"];
    [html appendString:@"body {"];
    [html appendString:@"background-color: transparent;"];
    [html appendString:@"color: white;"];
    [html appendString:@"}"];
    [html appendString:@"</style>"];
    [html appendString:@"</head><body style=\"margin:0\">"];
    [html appendFormat:@"<iframe class=\"youtube-player\" type=\"text/html\" width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/Gyf1kjaUZCo?autoplay=1\" allowfullscreen frameborder=\"0\"></iframe>", width, height];
    [html appendString:@"</body></html>"];

    [wv loadHTMLString:html baseURL:nil];

    [self.videoView addSubview:wv];

}

但是视频没有自动播放。我做错了什么?我该如何解决?

你是在iOS设备上尝试吗?它在模拟器上不起作用。 - hp iOS Coder
哦不,我只是在模拟器上尝试它,我也会在设备上检查一下。 - z22
已在设备上测试,仍未自动运行。 - z22
2个回答

4
我曾遇到过自动播放YouTube视频的类似问题,您可以在这里找到我的解决方案。
别忘了将UIWebViewmediaPlaybackRequiresUserAction属性设置为NO。

还是一样的:( - z22
你在链接中看到答案了吗? - Eyal
谢谢,它起作用了!但是我如何在特定时间后播放视频? - z22
不确定的话,可以查看YouTube JavaScript播放器API参考文档:https://developers.google.com/youtube/js_api_reference - Eyal
研究了一下,找到了一个方法- player.seekTo(时间(以秒为单位)),但它不起作用,请查看更新的帖子。 - z22

0
也许你应该像这样使用它-
NSString *htmlString =@"<html><head>"
            "<meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head>"
            "<body style=\"background:#FFFFF;margin-left:0px\">"
            "<div><object width=\"309\" height=\"196\">"
            "<param name=\"wmode\" value=\"transparent\"></param>"
            "<embed src=\"http://www.youtube.com/embed/Gyf1kjaUZCo?autoplay=1?f=user_favorites&app=youtube_gdata\""
            "type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"309\" height=\"196\"></embed>"
            "</object></div></body></html>";

        [webView loadHTMLString:htmlString baseURL:nil];

然而,可能需要点击播放按钮(我不确定是否自动播放),但仍会将控制返回应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接