私が持っているのは、同じ映画の 2 つのバージョンへの 2 つのリンクです。1 つは低解像度で、もう 1 つは高解像度で、どちらも .mp4 形式です。
低解像度は問題なく再生されますが、HD バージョンのリンクをクリックすると、ムービー プレーヤーが本来のようにポップアップし、元のビュー コントローラーに戻ります。もう一度クリックすると機能しますが、最初の試行は通常失敗します。スレッド化された何かが進行中で、成功しているかどうかのように。私が読んだことから、それはARCの問題ですが、正しく理解できないようです。
デフォルトでモーダルポップアップとして機能する方法が好きなので、MPMoviePlayerViewController を使用したいと思います。MPMoviePlayerController を試してみましたが、ビューを設定してから回転を処理する必要があるようです。
Xcode内のログにもクラッシュや警告はありません。
これが私のコードです:
@interface VideoInfoViewController ()
@property (nonatomic, strong) MPMoviePlayerController *player;
@end
- (IBAction)playLowVideo:(id)sender {
[self playVideoFromURL:[NSURL URLWithString:_video.video_url_low]];
}
- (IBAction)playHDVideo:(id)sender {
[self playVideoFromURL:[NSURL URLWithString:_video.video_url_HD]];
}
- (void)playVideoFromURL:(NSURL *)url {
MPMoviePlayerViewController *playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
_player = playerViewController.moviePlayer;
_player.scalingMode = MPMovieScalingModeFill;
[_player prepareToPlay];
[self presentMoviePlayerViewControllerAnimated:playerViewController];
}
到着予定時刻:
このチュートリアルを見つけました: http://josebolanos.wordpress.com/2011/09/28/dismissing-mpmovieplayerviewcontroller-the-right-way/
- (void)playVideoFromURL:(NSURL *)url {
MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentModalViewController:player animated:YES];
[player.moviePlayer prepareToPlay];
[player.moviePlayer play];
}
まだ機能しません。