我想从我的iPhone应用中播放YouTube视频。我必须尝试使用以下代码在我的iPhone应用中播放YouTube视频
[self playVideo:@"http://www.youtube.com/watch?v=WL2l_Q1AR_Q" frame:CGRectMake(20, 70, 280, 250)];
- (void)playVideo:(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];
NSLog(@"%@",html);
}
但是,这段代码对我不起作用。我也试过MPMoviePlayerController
代码,
NSURL *fileURL = [NSURL URLWithString:@"http://www.youtube.com/watch?v=WL2l_Q1AR_Q"];
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[moviePlayerController.view setFrame:CGRectMake(0, 70, 320, 270)];
[self.view addSubview:moviePlayerController.view];
moviePlayerController.fullscreen = YES;
[moviePlayerController play];
这对我也不起作用。任何人都可以告诉我我做错了什么,并建议我任何想法?我想在MPMoviewPlayerController
中播放YouTube视频,而不是使用UIWebView
。提前致谢。
答案 0 :(得分:10)
只需使用XCDYouTubeVideoPlayerViewController即可。它无缝地将youtube视频添加到您的应用中,而无需UIWebView
。
它使用渐进式下载+ MoviePlayer
和AVFoundation
框架。只需提供一个YouTube视频ID就可以了。
它支持全屏和全屏非全屏和在iOS模拟器上工作!!!
示例:
XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:@"9bZkp7q19f0"];
[self presentMoviePlayerViewControllerAnimated:videoPlayerViewController];
答案 1 :(得分:8)
现在YouTube Data API (v3)可以使用YTPlayerView
课程。
查看Using the YouTube Helper Library to embed YouTube videos in your iOS application
它提供了有关如何安装帮助程序库以及将YTPlayerView合并到故事板中的全面说明。
答案 2 :(得分:7)
Mr.Yuvaraj.M您的上述代码是正确的。请在iPhone / iPod touch设备中运行该项目。 youtube视频可能不支持/不在Simulator中工作。请检查一下。感谢。
答案 3 :(得分:1)
取代您正在使用的HTML嵌入代码,转到YouTube网站,查找视频,使用分享按钮,然后使用“嵌入”按钮获取嵌入HTML的示例。使用该模式嵌入视频而不是当前使用的Flash版本。
答案 4 :(得分:1)
添加Pod pod'XCDYouTubeKit'
在ViewController中导入XCDYouTubeKit
func playYoutubeVideo(){
let strUrl = "https://www.youtube.com/watch?v=9m_K2Yg7wGQ"
if let range = strUrl.range(of: "=") {
let strIdentifier = strUrl.substring(from: range.upperBound)
print("Identifier:\(strIdentifier)")
let videoPlayerViewController =
XCDYouTubeVideoPlayerViewController(videoIdentifier: strIdentifier)
videoPlayerViewController.present(in: viewYTVideo)
videoPlayerViewController.moviePlayer.play()
}
}