我在我的应用程序中使用了MPMoviePlayerController 我得到了正确的URL,但MPMoviePlayer不播放视频,只显示黑屏 我的代码如下:
[video setImage:[UIImage imageNamed:@"video_active.png"] forState:UIControlStateNormal];
NSString *filename=[NSString stringWithFormat:@"%@.mp4",[appdel.TempVideoUrl valueForKey:tag]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:filename];
NSURL *movieURL = [NSURL fileURLWithPath:filePath] ;
theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
theMovie.view.frame = CGRectMake(106, 18, 216, 235);
[uploadview addSubview:theMovie.view];
// Play the movie.
[theMovie pause];
我得到了这样的网址: 文件://localhost/var/mobile/Applications/6E1D4CB7-A08D-438B-9FE7-E2FD9B7B5EEC/Documents/136_1355227629.mp4
答案 0 :(得分:2)
在致电[theMovie prepareToPlay];
之前添加[theMovie play];
。
<强> prepareToPlay 强>
准备要播放的电影播放器。 (所需的)
- (void)prepareToPlay
<强>讨论强>
如果电话播放器在您拨打电话时尚未准备好播放 play方法,该方法自动调用此方法。但是,要 最小化播放延迟,请在调用播放前调用此方法。
调用此方法可能会中断电影播放器的音频会话。 有关中断以及如何重新安装的信息,请参阅音频 会话编程指南。可用性
Available in iOS 3.2 and later.
在MPMediaPlayback.h中声明
此外,您可以使用isPreparedToPlay
检查电影播放器是否已准备就绪。
请参阅此link了解更多信息。