我无法让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];
}
使用MPMoviePlayerViewController – Daniel 2010-08-11 20:17:39
我切换到MPMoviePlayerViewController。仍然没有运气。 – Luke 2010-08-12 16:21:41