2012-05-02 56 views
0

我遇到了使用MPMoviePlayerController播放嵌入式视频文件的问题。我的代码:在MPMoviePlayerController中播放视频

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectoryPath = [paths objectAtIndex:0]; 

NSString *proud = [[documentsDirectoryPath stringByAppendingPathComponent:@"archives"] stringByAppendingPathComponent:selectedCountry]; 

NSString *content = [proud stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
NSURL *url = [[NSURL fileURLWithPath:content] retain]; 

NSLog(@"%@", url); 
player = 

[[MPMoviePlayerController alloc] initWithContentURL: url]; 

[player prepareToPlay]; 

player.allowsAirPlay = YES; 
player.scalingMode = MPMovieScalingModeAspectFit; 

player.view.frame = self.view.frame; 

[self.view addSubview: player.view]; 
[player setFullscreen:YES animated:YES]; 

// ... 

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

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitedFullscreen:) name:MPMoviePlayerDidExitFullscreenNotification object:player]; 


[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayerWillExitFullscreen:) 
              name:MPMoviePlayerWillExitFullscreenNotification 
              object:player]; 


[player play]; 

的的NSLog返回

var/mobile/Applications/EF62B00B-2906-435C-BC84-036FE14D89E9/Documents/archives/Test%2520-%2520Daddy%2520May%25201%252001:26:35%2520PM.mp4 

但视频从来不玩,虽然MovieDone并得到从我的MPMoviePlayerController MovieFinished回调使用日志触发。有什么想法吗?

回答

2

我想你只玩视频文件,那就试试这个代码:

NSString *urlStr=[[NSBundle mainBundle]pathForResource:@"Video1VoiceOver.mp4" ofType:nil]; 
NSURL *url = [NSURL fileURLWithPath:urlStr]; 
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; 
[self.view addSubview:moviePlayer.view]; 
moviePlayer.view.frame = CGRectMake(174,154,720,428); 
[moviePlayer play]; 




[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayBackDidFinish) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:nil]; 
0

试试这个

MPMoviePlayerViewController *playerViewController =[[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL fileURLWithPath:@"FileName"]]; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:)name:MPMoviePlayerPlaybackDidFinishNotification object:[playerViewController moviePlayer]]; 
playerViewController.view.frame=CGRectMake(Set the frame); 
[self.view addSubview:playerViewController.view]; 
//---play movie--- 

player = [playerViewController moviePlayer]; 
相关问题