1

我正在尝试在 viewDidLoad 上的 ViewController 中播放一个简单的 mp4 文件。如果我运行代码,url 路径似乎是正确的,但电影加载和加载。奇怪的是,如果我在不同的 XCode-Project 中运行相同的代码,它可以工作。(相同的设置)

有任何想法吗 ???

PS:我已经尝试了不同的方法来设置 url 或加载电影。路径、构建阶段和 mp4 文件已检查。

这是我的viewDidLoad:


- (void)viewDidLoad {

[super viewDidLoad];

NSString *url = [[NSBundle mainBundle] pathForResource:@"logo.mp4" ofType:nil];

MPMoviePlayerViewController *playerViewController =[[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL fileURLWithPath:url]];    

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(movieFinishedCallback:)
                                            name:MPMoviePlayerPlaybackDidFinishNotification
                                          object:[playerViewController moviePlayer]];

[self.view addSubview:playerViewController.view];

NSLog(@"%@", url);

//---play movie---
MPMoviePlayerController *player = [playerViewController moviePlayer];
//[player setControlStyle:MPMovieControlStyleNone];
player.scalingMode =MPMovieScalingModeFill;
[player play];

}
4

1 回答 1

2

这是问题所在:

NSString *url = [[NSBundle mainBundle] pathForResource:@"logo.mp4" ofType:nil];

您必须更改为:

NSString *url = [[NSBundle mainBundle] pathForResource:@"logo" ofType:@"mp4"];

也尝试对此发表评论,因为我认为通知正在调用该方法MPMoviePlayerPlaybackDidFinishNotification

movieFinishedCallback:
于 2013-07-08T09:22:41.207 回答