0

我有一个从 ftp 服务器下载电影然后使用 MPMoviePlayerController 播放的应用程序。然而,电影播放器​​因 MPMovieFinishReasonPlaybackError 而失败。

代码如下所示:

NSURL *url = [NSURL fileURLWithPath:[contents objectAtIndex:index]];
NSLog(@"url: %@",url);

self.movieController = [[MPMoviePlayerController alloc] initWithContentURL:url];

nslog 给出了这个答案:

网址:文件://localhost/var/mobile/Applications/E8C9DFE8-9802-4EC1-B560-3EEE96E0AF5E/Documents/media/testfilm.mov

有人知道如何让电影播放吗?如果我将电影添加到项目中并使用以下代码,电影就可以工作。

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"testfilm" ofType:@"mov"]];
4

1 回答 1

0

您正在使用fileURLWithPath:远程文件,这是错误的。

改为用于URLWithString:远程文件。


请参阅有关该确切主题的参考 - 特别是参数部分

URLWithString:

创建并返回一个使用提供的字符串初始化的 NSURL 对象。

+ (id)URLWithString:(NSString *)URLString

参数

网址字符串

用于初始化 NSURL 对象的字符串。必须是符合 RFC 2396 的 URL。此方法根据 RFC 1738 和 1808 解析 URLString。(要为文件系统路径创建 NSURL 对象,请fileURLWithPath:isDirectory:改用。) 返回值 用 URLString 初始化的 NSURL 对象。如果字符串格式错误,则返回 nil。

讨论

此方法要求 URLString 包含任何必要的百分比转义码,它们是 ':'、'/'、'%'、'#'、';' 和 '@'。请注意,“%”转义是通过 UTF-8 转换的。

于 2013-07-10T15:18:50.500 回答