【问题标题】:Movie does not load [duplicate]电影无法加载[重复]
【发布时间】:2013-07-08 09:19:51
【问题描述】:

我正在尝试在 viewDidLoad 上的 ViewController 中播放一个简单的 mp4 文件。如果我运行代码,url 路径似乎是正确的,但电影加载和加载。奇怪的是,如果我在不同的 XCode-Project 中运行相同的代码,它可以工作。(相同的设置)

有什么想法吗???

PS:我已经尝试了不同的方法来设置 url 或加载电影。路径、构建阶段和 mp4 文件已检查。

这是我的 viewDidLoad:


- (void)viewDidLoad {

[超级viewDidLoad];

NSString *url = [[NSBundle mainBundle] pathForResource:@"logo.mp4" ofType:nil];

MPMoviePlayerViewController *playerViewController =[[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL fileURLWithPath:url]];

[[NSNotificationCenter defaultCenter]addObserver:self 选择器:@selector(movieFinishedCallback:)
                                            名称:MPMoviePlayerPlaybackDidFinishNotification
                                          对象:[playerViewController 电影播放器​​]];

[self.view addSubview:playerViewController.view];

NSLog(@"%@", url);

// - -播放电影 - -
MPMoviePlayerController *player = [playerViewController 电影播放器​​];
//[播放器setControlStyle:MPMovieControlStyleNone];
player.scalingMode =MPMovieScalingModeFill;
[播放器播放];

}

【问题讨论】:

  • 有什么特别的理由使用 [super viewDidLoad] 作为最后一个命令吗?
  • 我已经看过这篇文章并尝试过。无论如何没有变化:-/有点令人沮丧..
  • 其实我认为播放器目前运行良好。问题似乎是文件本身。但是如果两条路径都正确,我必须在哪里搜索??

标签: ios objective-c ipad mpmovieplayer


【解决方案1】:

问题来了:

NSString *url = [[NSBundle mainBundle] pathForResource:@"logo.mp4" ofType:nil];

你必须改成这样:

NSString *url = [[NSBundle mainBundle] pathForResource:@"logo" ofType:@"mp4"];

也尝试对此发表评论,因为我认为通知 MPMoviePlayerPlaybackDidFinishNotification 正在调用该方法:

movieFinishedCallback:

【讨论】:

  • 无变化。问题依然存在。尝试以几种不同的方式设置 url。
  • 我认为这不是问题。我用过这样的代码,它工作得很好。 type 参数不是必需的。事实上,这是来自文档“如果扩展名是空字符串或 nil,则假定扩展名不存在,并且该文件是遇到的第一个与名称完全匹配的文件。”
  • movieFinishedCallback: 的内容是什么?
  • 目前movieFinishedCallback中没有内容。稍后它将用于为其他对象设置动画。
  • viewWillDissapear 是否包含某些内容?我试过运行这段代码,它工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多