1

MPMoviePlayerViewController私はモーダルを示すビューを持っています。iPadシミュレーターでテストすると、最初の試行でうまく機能します。ビデオを閉じてからもう一度ビューを表示すると、プレーヤーはオーディオのみを再生し、ビデオは再生しません。

これはシミュレーターの癖ですか、それとも私は何か間違ったことをしていますか?これが私のコードです:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    MPMoviePlayerViewController* v = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
    [[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:v.moviePlayer];
    [self presentMoviePlayerViewControllerAnimated:v];
    [v release];
}

-(void) playbackDidFinish:(NSNotification*)aNotification
{
    MPMoviePlayerController *player = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                name:MPMoviePlayerPlaybackDidFinishNotification
                                              object:player];
    [player stop];
    [self dismissMoviePlayerViewControllerAnimated];
}
4

1 に答える 1

2

あるViewControllerを別のViewControllerに作成するコードを配置する代わりに、直接viewWillAppear作成してみませんか?MPMoviePlayerViewController通常、View Controllerは、ユーザーの操作に直接応答して作成または表示されます。それ以外は、表示されているコードに問題はありません。シミュレーターで映画を再生するのに問題はありませんでしたがMPMoviePlayerViewController、didSelectRowで、またはボタンのクリックに応じて作成しました。

于 2010-05-11T17:21:40.667 に答える