我在点击tableView中的单元格后直接运行视频时遇到问题。我使用youtube API,didSelectRowAtIndexPath来启动视频。我有不同的可能性来获得带有JSON结果的视频:
"player": {
"default": "https://www.youtube.com/watch?v=EHQCvSbHW-k&feature=youtube_gdata_player",
"mobile": "https://m.youtube.com/details?v=EHQCvSbHW-k"
},
"content": {
"5": "https://www.youtube.com/v/EHQCvSbHW-k?version=3&f=user_uploads&app=youtube_gdata",
"1": "rtsp://v3.cache1.c.youtube.com/CigLENy73wIaHwnpW8cmvQJ0EBMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp",
"6": "rtsp://v5.cache4.c.youtube.com/CigLENy73wIaHwnpW8cmvQJ0EBMYESARFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp"
},
我尝试使用directs链接(移动和默认),但它不适用于MPMoviePlayerController。我尝试使用UIApplication,但视频被重定向到Safari。我试着使用上面的两个.gp3链接和这个教程(它与他们的.mov视频配合得很好):http://www.techotopia.com/index.php/Video_Playback_from_within_an_iOS_6_iPhone_Application。但它不想与.gp3…一起工作
我的代码是:
NSURL *url = [NSURL URLWithString:@"rtsp://v3.cache1.c.youtube.com/CigLENy73wIaHwnpW8cmvQJ0EBMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp"];
moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:)name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
所以我的问题是:
- 我可以使用.gp3链接直接播放youtube视频吗
- 或者,使用原始链接更好
- 我可以在ios应用程序中运行rtsp吗?怎么办?非常感谢
(我的jsonhttps://gdata.youtube.com/feeds/api/users/ZapSpi0nDOTcom/uploads?v=2&alt=jsonc&最大结果=50&prettyprint=true)
如果不使用第三方播放器(顺便说一句,效果很好),你就无法在iPhone上玩rtsp,所以你唯一的选择是使用youtube api和播放HLS,也就是https链接。youtube api附带了示例。我认为你需要使用一个网络视图或某种包装器。
我知道一个可能还有其他
https://github.com/larcus94/LBYouTubeView