MPMoviePlayerController 播放完成后不会自动关闭电影(ios 6)

Posted

技术标签:

【中文标题】MPMoviePlayerController 播放完成后不会自动关闭电影(ios 6)【英文标题】:MPMoviePlayerController will not automatically dismiss movie after finish playing (ios 6) 【发布时间】:2012-10-08 17:35:14 【问题描述】:

我可能没有很好地措辞我的标题,也许更正确的说法是我的 NSNotification 并没有在我的电影播放完成后关闭它的视图。我发现其他人有这个问题但没有解决方案,似乎这可能是我正在运行的 ios 6 的问题。

视频播放完毕后,您需要按“完成”关闭,但我希望它自动关闭,因为一旦我解决了这个问题,我将使用 MPMovieControlStyleNone。这是我的代码,去掉了未使用的部分: `

#import "MovieViewController.h"

@interface MovieViewController ()

@end

@implementation MovieViewController

@synthesize moviePlayer = _moviePlayer;

- (IBAction)playMovie:(id)sender

    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                         pathForResource:@"TestMovie" ofType:@"mov"]];
    _moviePlayer =
    [[MPMoviePlayerController alloc]
     initWithContentURL:url];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlayBackDidFinish:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:_moviePlayer];

    _moviePlayer.controlStyle = MPMovieControlStyleDefault;
    _moviePlayer.shouldAutoplay = YES;
    [self.view addSubview:_moviePlayer.view];
    [_moviePlayer setFullscreen:YES animated:NO];


- (void) moviePlayBackDidFinish:(NSNotification*)notification 

    MPMoviePlayerController *player = [notification object];

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:player];

    if ([player
         respondsToSelector:@selector(setFullscreen:animated:)])
    
        [player.view removeFromSuperview];
    


@end`

【问题讨论】:

【参考方案1】:

也有这个问题 在moviePlayBackDidFinish中修复 只需添加

player.fullscreen = NO;

在从父视图中删除视图之前

【讨论】:

我需要倒过来。我希望 MPMoviePlayerController 不应该被自动关闭。用户可以使用完成按钮将其关闭

以上是关于MPMoviePlayerController 播放完成后不会自动关闭电影(ios 6)的主要内容,如果未能解决你的问题,请参考以下文章

MPMoviePlayerController 不播放 .wmv

如何显示 MPMoviePlayerController 控件?

MPMoviePlayerController 隐藏 AirPlay 按钮

MPMoviePlayerController 上的专辑封面

MPMoviePlayerController 已弃用,现在怎么办?

用 MPMoviePlayerController 替换 AVPlayer