【发布时间】:2010-08-11 18:57:09
【问题描述】:
我无法让 MPMoviePlayerController 在设备上运行。它在模拟器中运行良好,播放一个 5 秒的视频,然后将适当的回调 (myMovieFinishedCallback:) 发送到视图控制器。当它在设备上运行时,电影永远不会出现,即使我可以毫无问题地追踪 [player play]。 myMovieFinishedCallback: 永远不会被调用,并且没有错误。所有正确的资源都被复制了。知道发生了什么吗?
这是我用来创建和使用播放器的代码,
更新:我已切换到使用 MPMoviePlayerViewController。在设备上电影仍然无法播放,我只是无限期地获得旋转的进度轮。即使我将播放器设置为 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];
}
【问题讨论】:
-
使用 MPMoviePlayerViewController
-
我切换到 MPMoviePlayerViewController。还是没有运气。
标签: iphone objective-c video media mpmovieplayercontroller