播放存储在NSData中的视频

时间:2012-02-14 13:47:21

标签: iphone mpmovieplayercontroller nsdata

我正在尝试播放存储在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];

我唯一能想到的是文件写入需要一些时间,并且播放器在完成之前尝试访问它。这是可能的,如果是的话,我该如何解决?

1 个答案:

答案 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];