代码之家  ›  专栏  ›  技术社区  ›  Luke

为什么MPMoviePlayerController在模拟器中工作,而不是在设备中工作?

  •  2
  • Luke  · 技术社区  · 14 年前

    myMovieFinishedCallback: )到视图控制器。当它在设备上运行时,电影永远不会出现,即使我可以追踪到 [player play] 没有问题。 从不调用,也没有错误。正在复制所有正确的资源。知道怎么回事吗?

    更新:我已经切换到使用mpmovieplayervewcontroller。在设备上电影仍然不播放,我只是得到旋转的进程轮无限期。即使我已经将播放器设置为MPMovieControlStyleNone,控件也会短暂闪烁-有人知道我如何解决这个问题吗?这部电影是5秒,大约1.5 MB,如果这有什么区别的话。

    更新:其他电影文件工作,但我不知道如何使我的工作。我试过它作为一个.mov和一个.mp4和设置似乎是正确的。你知道什么会让MPMoviePlayer永远只在设备上显示一个进度轮吗?

    - (void) playMovie
    {
        NSString *url = [[NSBundle mainBundle] 
                         pathForResource:@"myMovie" 
                         ofType:@"mp4"];
    
    MPMoviePlayerViewController *playerViewController = 
    [[MPMoviePlayerViewController alloc] 
     initWithContentURL:[NSURL fileURLWithPath:url]];
    
    playerViewController.moviePlayer.controlStyle = MPMovieControlStyleNone;
    playerViewController.moviePlayer.scalingMode = MPMovieScalingModeFill;
    
    [[NSNotificationCenter defaultCenter] 
     addObserver:self
     selector:@selector(myMovieFinishedCallback:)
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:[playerViewController moviePlayer]];
    
    playerViewController.view.frame = movieView.frame;
    
    [movieView addSubview:playerViewController.view];
    
    //---play movie---
    MPMoviePlayerController *player = [playerViewController moviePlayer];
    [player play];
    }   
    
    1 回复  |  直到 14 年前
        1
  •  5
  •   Matt Long    14 年前

    你的代码对我来说很好,所以我想到了两种可能性(可能还有其他可能性):

    1. 你呢 未正确初始化或未将其帧设置为可见。
    2. 设备不支持您正在显示的视频的视频格式。

    http://www.cimgf.com/files/PlayMovie.zip