1

单击 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"
},

我尝试使用直接链接(移动和默认),但它不适用于 MPMoviePlayerController。我尝试使用 UIApplication,但视频被重定向到 Safari。我尝试使用上面的两个 .gp3 链接和这个 tuto(它适用于他们的 .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 App 中运行 rtsp 吗?怎么办?非常感谢

(我的 json https://gdata.youtube.com/feeds/api/users/ZapSpi0nDOTcom/uploads?v=2&alt=jsonc&max-results=50&prettyprint=true

4

1 回答 1

0

如果不求助于第 3 方播放器(顺便说一句效果很好),您将无法在 iPhone 上播放 rtsp,因此您唯一的选择是使用 youtube api 并播放 HLS,这将是 https 链接。youtube api 带有示例。我认为您需要使用 webview 或某种包装器。

我知道一个可能还有其他

https://github.com/larcus94/LBYouTubeView

于 2012-12-06T21:22:15.297 回答