【问题标题】:MPMoviePlayerController video not playingMPMoviePlayerController 视频不播放
【发布时间】:2012-11-29 00:20:02
【问题描述】:

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

【问题讨论】:

  • 添加 [uploadview prepareToPlay];在播放之前
  • 上传视图是我添加电影播放器​​的子视图。您建议的方法显示 mw 错误。
  • 感谢您在我使用 [theMovie prepareToPlay] 时提出的建议
  • 我可以添加它作为答案吗?

标签: ios mpmovieplayercontroller


【解决方案1】:

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

prepareToPlay

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

- (void)prepareToPlay

讨论

如果电影播放器​​在您调用 play 方法,该方法会自动调用该方法。然而,为了 尽量减少播放延迟,请在调用 play 之前调用此方法。

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

Available in iOS 3.2 and later.

在 MPMediaPlayback.h 中声明

您也可以使用isPreparedToPlay检查电影播放器​​是否可以播放。

更多信息请参考link

【讨论】:

    猜你喜欢
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    相关资源
    最近更新 更多