3

我在我的应用程序中使用了 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];

我得到这样的 URL:file://localhost/var/mobile/Applications/6E1D4CB7-A08D-438B-9FE7-E2FD9B7B5EEC/Documents/136_1355227629.mp4

4

1 回答 1

2

[theMovie prepareToPlay];调用前添加[theMovie play];

准备播放

准备播放电影播放器​​。(必需的)

- (void)prepareToPlay

讨论

如果调用 play 方法时电影播放器​​尚未准备好播放,则该方法会自动调用此方法。但是,为了尽量减少播放延迟,请在调用 play 之前调用此方法。

调用此方法可能会中断电影播放器​​的音频会话。有关中断以及如何回应中断的信息,请参阅音频会话编程指南。可用性

Available in iOS 3.2 and later.

在 MPMediaPlayback.h 中声明

您还可以isPreparedToPlay用于检查电影播放器​​是否准备好播放。

请参阅此链接了解更多信息。

于 2012-12-11T12:46:26.373 回答