Objective-C:在应用上播放Youtubevideo

我正在尝试探索在iOS应用程序开发中还能做些什么,而现在我试图在自己的应用程序中添加video。

我有下面这个代码,目的是播放video加载时的YouTubevideo,但我得到的只是一个黑色的webView。

NSString *videoURL = @"http://youtu.be/Wq_CtkKrt1o"; videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)]; videoView.backgroundColor = [UIColor clearColor]; videoView.opaque = NO; videoView.delegate = self; [self.view addSubview:videoView]; NSString *videoHTML = [NSString stringWithFormat:@"\ <html>\ <head>\ <style type=\"text/css\">\ iframe {position:absolute; top:50%%; margin-top:-130px;}\ body {background-color:#000; margin:0;}\ </style>\ </head>\ <body>\ <iframe width=\"100%%\" height=\"240px\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\ </body>\ </html>", videoURL]; [videoView loadHTMLString:videoHTML baseURL:nil]; 

你必须使用embedded链接

使用下面的代码

 NSString *videoURL = @"http://www.youtube.com/embed/Wq_CtkKrt1o"; 

代替

 NSString *videoURL = @"http://youtu.be/Wq_CtkKrt1o"; 

试试这个你的问题将解决

你可以尝试下面的代码对我来说工作正常

 - (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame { NSString *embedHTML = @"\ <html><head>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: white;\ }\ </style>\ </head><body style=\"margin:0\">\ <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>"; NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height]; UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame]; [videoView loadHTMLString:html baseURL:nil]; [self.view addSubview:videoView]; [videoView release]; }