2010-08-11 164 views
2

我无法让MPMoviePlayerController在设备上工作。它在模拟器中运行良好,播放5秒钟的视频,然后发送适当的回调(myMovieFinishedCallback:)到视图控制器。当它在设备上运行时,电影从不出现,尽管我可以通过[player play]追踪没有问题。 myMovieFinishedCallback:永远不会被调用,并且没有错误。所有正确的资源正在被复制。任何想法发生了什么?为什么MPMoviePlayerController在模拟器中工作,但不是设备?

下面是我用它来创建和使用播放器,

更新的代码:我已经切换到使用MPMoviePlayerViewController。在该设备上电影仍然不播放,我只是无限期地获得了旋转进度轮。即使我已将播放器设置为MPMovieControlStyleNone,控件也会短暂闪烁 - 任何人都知道如何解决此问题?这部电影是五秒钟,大约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

使用MPMoviePlayerViewController – Daniel 2010-08-11 20:17:39

+0

我切换到MPMoviePlayerViewController。仍然没有运气。 – Luke 2010-08-12 16:21:41

回答

5

你的代码工作对我很好,所以有浮现在脑海中的两种可能性(有可能是其他人):

  1. movieView尚未正确初始化或已没有了框架设置,使其可见。
  2. 设备上不支持您显示的视频的视频格式。

我会尝试使用不同的视频。也许你可以确认你之前在设备上玩过。这里是我扔在一起的小演示项目:http://www.cimgf.com/files/PlayMovie.zip

+0

这是一个很大的帮助 - 你的过山车视频的作品。我试图搞乱我使用的视频的设置,但仍然没有运气。有没有人有与MPMoviePlayer类似的问题? – Luke 2010-08-12 20:57:48

+0

我建议你开始一个新的问题,询问格式和MPMoviePlayer。这个问题的标题不一定会得到关于格式的人的关注。还有一个想法。如果你在iOS 4上,你有没有尝试过使用AVFoundation类。 AVPlayer和AVPlayerLayer允许您在Core Animation图层中显示视频。 – 2010-08-12 21:48:47

+0

我不在iOS 4中,因为我们在iPad上。我可以问你是如何制作过山车电影的?我们尝试了各种不同的转换器,但仍然没有运气。 – Luke 2010-08-13 16:02:46

相关问题