0

私は一日中試していましたが、何らかの理由で IOS6 im で MPMoviePlayerController に非常に多くの問題があり、人々は問題を抱えているように見えましたが、私のものとは十分に似ていませんでした:

ムービーがロードされ、ムービーが完了すると正常に再生されます。ムービーをループできます。次のように映画を閉じて削除しようとすると、問題が発生します。

ムービー自体にコントロールを追加して [完了] ボタンをクリックすると、ムービーが一時停止して閉じなくなります。

ヒント/アイデアはありますか?

_moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];

[[NSNotificationCenter defaultCenter] addObserver:self  
                                         selector:@selector(moviePlaybackComplete:)  
                                             name:MPMoviePlayerPlaybackDidFinishNotification  
                                           object:_moviePlayerController];  

[[NSNotificationCenter defaultCenter] addObserver:self  
                                         selector:@selector(moviePlaybackLoaded:)  
                                             name:MPMoviePlayerLoadStateDidChangeNotification  
                                           object:_moviePlayerController];

[[NSNotificationCenter defaultCenter] addObserver:self  
                                         selector:@selector(moviePlaybackComplete:)  
                                             name:kMovieOverlayViewTapped
                                           object:nil];


[self.view addSubview:_moviePlayerController.view];  
_moviePlayerController.fullscreen = YES;

-

プレイバックがロードされました:

- (void)moviePlaybackLoaded:(NSNotification *)notification  
{   
    [[NSNotificationCenter defaultCenter] removeObserver:self  
                                                    name:MPMoviePlayerLoadStateDidChangeNotification  
                                                  object:_moviePlayerController]; 

_moviePlayerController.movieSourceType = MPMovieSourceTypeFile;
_moviePlayerController.controlStyle = MPMovieControlStyleDefault;
[_moviePlayerController prepareToPlay];
[_moviePlayerController.view setFrame:CGRectMake(38, 100, 250, 163)];
[_moviePlayerController play];

}

ビデオを削除するには:

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

    [[NSNotificationCenter defaultCenter] removeObserver:self  
                                                    name:MPMoviePlayerDidExitFullscreenNotification  
                                                  object:_moviePlayerController]; 

[[NSNotificationCenter defaultCenter] removeObserver:self  
                                                    name:kMovieOverlayViewTapped
                                                  object:nil]; 

[_moviePlayerController stop];
[_moviePlayerController.view removeFromSuperview];       
    _moviePlayerController = nil;
4

0 に答える 0