0
几秒钟后崩溃

我用它来播放视频的方法是:影片开始,但与MPMoviePlayerViewController

-(void)playVideo:(NSString*)title { 

NSLog(@"NAME: %@", title); 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *moviePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4", title]]; 

MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]]; 

mp.moviePlayer.scalingMode = MPMovieScalingModeAspectFit; 

[self presentMoviePlayerViewControllerAnimated:mp]; 

[mp release]; 
} 

约4秒或5秒的视频停止后,先前的屏幕显示和我得到以下错误:

_itemFailedToPlayToEnd: { 
AVPlayerItemFailedToPlayToEndTimeErrorKey = "Error Domain=AVFoundationErrorDomain Code=-11800 \"The operation could not be completed\" UserInfo=0xb19a220 {NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0xb17fac0 \"The operation couldn\U2019t be completed. (OSStatus error -12551.)\", NSLocalizedFailureReason=An unknown error occurred (-12551)}"; 
+0

原来我尝试播放已损坏的视频,我会检查这个第一下一次。 – Jack

回答

0

尝试简单的步骤:

第1步:进口MediaPlayer的框架 #import <MediaPlayer/MediaPlayer.h>

第2步:在.h文件中集委托 UIViewController<MPMediaPlayback>

第3步:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSBundle *bundle = [NSBundle mainBundle]; 
    NSString *fileLocation= [bundle pathForResource:@"file_video" ofType:@"m4v"]; 
    NSURL *vedioURL =[NSURL fileURLWithPath:fileLocation]; 
    MPMoviePlayerViewController *videoPlayerView = [[MPMoviePlayerViewController alloc] initWithContentURL:vedioURL]; 
    [self presentMoviePlayerViewControllerAnimated:videoPlayerView]; 
    [videoPlayerView.moviePlayer play]; 
} 

-(void)endSeeking 
{ 
    [self.navigationController popViewControllerAnimated:NO]; 
} 

-(void)stop 
{ 
    [self.navigationController popViewControllerAnimated:NO]; 
} 
0

试试这个代码一次:

-(void)playVideo 
{ 
MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:VideoURL]]; 
] 
[self presentMoviePlayerViewControllerAnimated:mp]; 
[mp.moviePlayer play]; 
} 

,并确保那

  1. 已包含MediaPlayer.framework
  2. 进口的MediaPlayer/MediaPlayer.h文件在你的类