在iOS中播放使用FTP下载的电影

时间:2013-07-10 11:08:05

标签: ios mpmovieplayercontroller

我有一个从ftp-server下载电影的应用程序,然后用MPMoviePlayerController播放它们。但是电影播放器​​因MPMovieFinishReasonPlaybackError而失败。

代码如下所示:

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

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

nslog给出了这个答案:

url:file://localhost/var/mobile/Applications/E8C9DFE8-9802-4EC1-B560-3EEE96E0AF5E/Documents/media/testfilm.mov

有没有人知道如何让电影上场?如果我将电影添加到项目中并使用以下代码,则电影可以正常工作。

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

1 个答案:

答案 0 :(得分:0)

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

使用URLWithString:代替远程文件。


请参阅有关该主题的reference - 特别是参数部分;

URLWithString:

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

+ (id)URLWithString:(NSString *)URLString

<强>参数

URLString

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

<强>讨论

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