0

NavigationControllerを備えた2つのTabBarを含むTabBarControllerを備えたアプリケーションがあります。

最初のタブバーには、いくつかのボタンを含むViewControllerがあります。これらのボタンの1つを使用すると、ユーザーはビデオを再生できます。そして、今のところすべてが正常に実行されます。

私の問題は、ビデオが再生されているときに2番目のTabBarに移動すると、ビデオの再生が続行され(音が聞こえます)、最初のTabBar(ボタンがある場所)に戻ると、アプリケーションが何もせずにクラッシュすることです。お知らせ。

それがメモリの問題なのか、それとも何か他のものなのかわかりません。

助言がありますか?

使用される関数は次のとおりです。

-(IBAction)playMovie:(id)sender  
{  
    videoView = [[UIViewController alloc]initWithNibName:@"video" bundle:nil];
    videoView.title = @"title";
    NSString *urlStr = [[NSBundle mainBundle] pathForResource:@"video.mp4" ofType:nil];
    NSURL *url = [NSURL fileURLWithPath:urlStr];

    moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:url];
    
    
    [[NSNotificationCenter defaultCenter] addObserver:self  
                                             selector:@selector(moviePlaybackComplete:)  
                                                 name:MPMoviePlayerPlaybackDidFinishNotification  
                                               object:moviePlayerController];

    testbtnAppDelegate *appDelegate = (testbtnAppDelegate *)[[UIApplication sharedApplication] delegate];

    videoView.view=moviePlayerController.view;

    [moviePlayerController play];

    [appDelegate.navController  pushViewController:videoView animated:YES];

    }


- (void)moviePlaybackComplete:(NSNotification *)notification  
{  
    moviePlayerController = [notification object];  
    [[NSNotificationCenter defaultCenter] removeObserver:self  
                                                    name:MPMoviePlayerPlaybackDidFinishNotification  
                                                  object:moviePlayerController];  

    [moviePlayerController.view removeFromSuperview];  
    [moviePlayerController release];  
} 
4

1 に答える 1

0

[moviePlayerController 一時停止];

秒タブに移動する前に一時停止します。

于 2011-04-06T09:17:41.700 に答える