1

viewDidLoad の ViewController で単純な mp4 ファイルを再生しようとしています。コードを実行すると、url パスは正しいように見えますが、ムービーがロードされてロードされます。奇妙なことに、別の XCode プロジェクトで同じコードを実行すると、動作します (同じ設定)。

何か案は ???

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 に答える