【问题标题】:Why won't any other video file format work except .mov?为什么除了 .mov 之外的任何其他视频文件格式都不起作用?
【发布时间】:2013-05-28 12:03:31
【问题描述】:

我在应用商店有一个应用,可以播放精选视频。目前所有的视频都是 .mov 文件格式,但这使得应用程序的大小相当大,所以我尝试使用不同的文件格式来减小应用程序的整体大小。 我正在尝试使用 mp4 格式,因为这会将每个视频的大小减少一半以上,但是当我这样做时,当我尝试播放带有以下错误消息的视频时,应用程序崩溃: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[NSURL initFileURLWithPath:]: nil string parameter 我对我的实现文件中的每个视频都使用了以下代码,并更改了文件名和类型以匹配新视频,所以我不明白为什么文件路径应该有问题。

- (IBAction)playDaresWins:(id)sender {
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                     pathForResource:@"DaresWins" ofType:@"mov"]];
_moviePlayer =
[[MPMoviePlayerController alloc]
 initWithContentURL:url];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlayBackDidFinish:)
                                             name:MPMoviePlayerPlaybackDidFinishNotification
                                           object:_moviePlayer];

_moviePlayer.controlStyle = MPMovieControlStyleNone;
_moviePlayer.shouldAutoplay = YES;
[self.view addSubview:_moviePlayer.view];
[_moviePlayer setFullscreen:YES animated:NO];
}

我错过了什么吗?

【问题讨论】:

    标签: ios6 xcode4.5 mpmovieplayercontroller mpmovieplayer


    【解决方案1】:

    .mov 不是视频格式或编解码器,它是一个容器。开发人员文档提供了支持的视频编解码器、比特率和分辨率的列表(link here - 我不会在此处发布它们,因为它们可以从操作系统版本更改为操作系统版本)。

    但是,我认为这不是问题所在,因为看起来好像是在创建 NSURL 时遇到了异常,而不是在播放视频时。这表明您为视频提供的路径不存在。您确定您有 a) 正确的文件名,b) 正确的扩展名(可能是 MP4 而不是 MOV),还是 c) 已将电影文件正确添加到您的项目中?

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      相关资源
      最近更新 更多