0

私が持っているのは、同じ映画の 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];
}

まだ機能しません。

4

0 に答える 0