0

私は知っています、何十もの同様の質問があります。私はそれらすべてを読みましたが、まだ答えを見つけることができませんでした. presentModalViewControllerメソッドを介してビデオでビューを表示します。ユーザーがスワイプすると、同じプレーヤーで次のビデオが開始されます。しかしcontentURL、ビデオプレーヤーを変更しようとすると、ビューが消えます-dismissModalViewControllerAnimatedメソッドが呼び出された場合のように(そうではありませんでした)。

@implementation ViewController

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    if(!moviePlayerViewController)
    {
        NSURL *url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"];

        moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];       

        UISwipeGestureRecognizer *leftSwipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipe:)];
        leftSwipeRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
        [moviePlayerViewController.view addGestureRecognizer:leftSwipeRecognizer];

        [self presentModalViewController:moviePlayerViewController animated:YES];
    }
}

-(void)leftSwipe:(id)sender
{
    moviePlayerViewController.moviePlayer.contentURL = 
        moviePlayerViewController.moviePlayer.contentURL; // no matter what exactly URL here.
    [moviePlayerViewController.moviePlayer play]; // view disappears even before this line is reached
}

@end
4

1 に答える 1

0

奇妙なことに、私は昨日ずっと無駄に答えを見つけようとしていましたが、ここに質問を投稿してから 1 分後に見つけました。

http://josebolanos.wordpress.com/2011/09/28/dismissing-mpmovieplayerviewcontroller-the-right-way/

于 2012-06-15T07:33:37.027 に答える