Ios MPMoviePlayerController无法处理文档文件夹中的电影
我有一个可以播放电影的ViewController。如果电影是下载的(带有ASI HTTP请求),则采用本地版本。否则,它将从web流式传输。这是一部完全相同的电影 流确实工作得很好,但播放本地文件不起作用。只有一个黑屏,没有控制。该文件已正确下载。我检查了md5校验和 这是一个苹果QuickTime视频(.mov),大小为1024x5xx像素Ios MPMoviePlayerController无法处理文档文件夹中的电影,ios,stream,mpmovieplayercontroller,mov,Ios,Stream,Mpmovieplayercontroller,Mov,我有一个可以播放电影的ViewController。如果电影是下载的(带有ASI HTTP请求),则采用本地版本。否则,它将从web流式传输。这是一部完全相同的电影 流确实工作得很好,但播放本地文件不起作用。只有一个黑屏,没有控制。该文件已正确下载。我检查了md5校验和 这是一个苹果QuickTime视频(.mov),大小为1024x5xx像素 player = [[MPMoviePlayerController alloc] init]; [player.view setFrame: self
player = [[MPMoviePlayerController alloc] init];
[player.view setFrame: self.view.bounds];
if (local) {
// DOES not work
// SHOULD be [NSURL fileURLWithString:...]
[player setContentURL: [NSURL URLWithString: @"/path/to/the/movie.mov"]];
} else {
// does work
[player setContentURL: [NSURL URLWithString: @"http://mydomain.tld/path/to/the/movie.mov"]];
}
[self.view addSubview: player.view];
[player play]
我试过使用MediaSourceType。但这没用。
为什么它不起作用?
我没有任何错误消息,因为我没有收到一条…,有没有办法从中获取错误消息
解决方案
我发现了我的错误
我对本地路径使用了[NSURL URLWithString:@//路径/…]
它与
[NSURL fileURLWithPath:@//路径/…]
检查视频文件的URL。此行返回文档目录的路径
NSString* docPath = [NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
您的路径与文档目录不相关
[player setContentURL: [NSURL URLWithString: @"/path/to/the/movie.mov"]];
试试这个
[player setContentURL: [NSURL URLWithString: [NSString stringWithFormat:@"%@%@", docPath, @"/path/to/the/movie.mov"]]];
检查视频文件的URL。此行返回文档目录的路径
NSString* docPath = [NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
您的路径与文档目录不相关
[player setContentURL: [NSURL URLWithString: @"/path/to/the/movie.mov"]];
试试这个
[player setContentURL: [NSURL URLWithString: [NSString stringWithFormat:@"%@%@", docPath, @"/path/to/the/movie.mov"]]];
路径正确,我短路了代码。很抱歉。电影实际上位于缓存目录中<代码>[NSString stringWithFormat:@“%@/Library/Caches/movie.mov”,NSHomeDirectory()]NSFileManager说文件存在…路径正确,我缩短了代码。很抱歉。电影实际上位于缓存目录中<代码>[NSString stringWithFormat:@“%@/Library/Caches/movie.mov”,NSHomeDirectory()]NSFileManager说文件存在。。。