【问题标题】:MPMoviePlayerController play video second timeMPMoviePlayerController 第二次播放视频
【发布时间】:2011-01-03 18:33:43
【问题描述】:

我需要能够在一个应用中播放多个视频。

不幸的是,我第二次按播放时,视频出现闪烁。

我只用这段代码来播放视频

NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease];

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url];

mp.movi​​eControlMode = MPMovieControlModeDefault;

[mp 播放];

moviePlayer = mp;

[mp 发布];

谁能告诉我问题出在哪里? 提前致谢!

更新 1: Apple MoviePlayer 的例子似乎有同样的问题。

【问题讨论】:

    标签: iphone objective-c video mpmovieplayer


    【解决方案1】:

    我遇到了这个问题,并通过在 MPMoviePlayerController 播放完毕后使用通知系统执行回调并在那里释放播放器对象来解决它。

    在播放电影之前添加通知:

    NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease];
    
    MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url];
    
    mp.movieControlMode = MPMovieControlModeDefault;
    
    //***Add this line***
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp];
    
    [mp play];
    

    然后添加回调方法,

    -(void)myMovieFinished:(NSNotification*)aNotification
    {
        MPMoviePlayerController *moviePlayer = [aNotification object];
        [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidFinishNotification object:moviePlayer];
        [moviePlayer release];
    }
    

    【讨论】:

    • 还是有同样的问题。
    • 你确定原来的movieplayercontroller没有被保留在某个地方吗?
    【解决方案2】:

    你也可以在调用播放函数之前将初始播放时间设置为-1.0

    mp.initialPlaybackTime = -1.0;
    

    把这段代码放在你的播放方法被调用之前。

    【讨论】:

      【解决方案3】:

      似乎唯一的解决方案是……为 3.1 制作应用程序

      【讨论】:

        【解决方案4】:

        我也发现运行在OS 3.1或更高版本的模拟器可以玩得很好。不会出现闪烁。但是当我添加时

        initialPlaybackTime = -1.0
        

        它在 OS 3.0 上也能正常运行。

        【讨论】:

          猜你喜欢
          • 2012-11-29
          • 2013-10-10
          • 2012-05-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多