我正在尝试播放存储在NSData对象中的视频。我将文件保存到我的应用程序临时文件夹,然后尝试播放它,但我得到的只是一个黑屏。我以后可以浏览到该文件夹并播放该文件,因此我知道该文件已被编写并受支持。
这是我的代码:
NSString *urlString = [NSTemporaryDirectory() stringByAppendingPathComponent:@"test.m4v"];
NSURL *url = [[NSURL alloc] initWithString:urlString];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: url];
[moviePlayer prepareToPlay];
moviePlayer.view setFrame: self.view.bounds];
[self.view addSubview: moviePlayer.view];
[moviePlayer play];
我唯一能想到的是文件写入需要一些时间,并且播放器在完成之前尝试访问它。这是可能的,如果是的话,我该如何解决?
答案 0 :(得分:3)
使用文件时,您应告诉NSURL
该网址应指向a
文件:
NSString *urlString = [NSTemporaryDirectory() stringByAppendingPathComponent:@"test.m4v"];
NSURL *url = [NSURL fileURLWithPath:urlString];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: url];
[moviePlayer prepareToPlay];
moviePlayer.view setFrame: self.view.bounds];
[self.view addSubview: moviePlayer.view];
[moviePlayer play];