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 にリダイレクトされます。上記の 2 つの .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 を実行できますか? そして、どのように行うのですか?どうもありがとう

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

4

1 に答える 1

0

サードパーティのプレーヤーに頼らずに iPhone で rtsp を再生することはできません (ちなみに、これはかなりうまく機能します)。そのため、唯一の選択肢は、YouTube API を使用して HLS を再生することです。これは https リンクになります。YouTube API にはサンプルが付属しています。webview または何らかのラッパーを使用する必要があると思います。

私は1つを知っていますおそらく他にもあります

https://github.com/larcus94/LBYouTubeView

于 2012-12-06T21:22:15.297 に答える