2

我有一个在 iOS 5.1 上运行的应用程序,该应用程序使用 Xcode 4.31 构建,可以使用标准 mpmovieplayercontroller 很好地播放 *.mov 文件。但是当我尝试使用 .m4v 或 .mp4 版本的视频时,它们不会被捆绑。如果我从测试设备(iPad 或 iPad 模拟器)中删除应用程序,我可以看到 .mov 在构建和部署期间被复制,但 .m4v 或 .mp4 版本不会被复制。

我添加了一些调试代码,似乎可以确认应用程序中不存在 m4v 或 mp4 媒体:

if (moviePath) {
    theMovieURL = [NSURL fileURLWithPath:moviePath];
    NSLog(@"theMovieURL: %@", theMovieURL);
}else {
     NSLog(@" there is no theMovieURL");
    return;
}

当我尝试使用 m4v 或 mp4 时,它会在 else 块中打印出日志消息。我尝试了完全不同的测试视频,每次都得到相同的结果。任何 .mov 视频都可以正常工作,根本没有 m4v 或 mp4 文件。该应用程序需要包含一个相当大的视频,所以我想使用优化版本 - mp4 或 m4v 中的 H.264 vids 似乎不到文件大小的一半,所以只使用 .mov 版本不是一个选项。

感谢您提供的任何见解。

编辑/更新:我查看了我的 Library/.../[Simulator].../[App name].app 目录,发现 *.mov 文件,没有 *.m4v 或 *.mp4 文件。

4

1 回答 1

2

Apple 的 *.mov 文件格式是一种容器格式。您可以将 *.mp4 或 *.m4v 文件保存为 *.mov,因为它基本上只是“环绕”源 *.mp4 或 *.m4v 并且几乎不影响文件大小。

编辑:
此外,许多 *.mp4 文件可以简单地重命名为 *.mov 并且仍然可以正常播放。

于 2012-04-12T15:31:40.723 回答