播放存储在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];

我唯一能想到的是,写入文件需要一些时间,玩家会在完成之前尝试访问它。这可能吗?如果可能,我该如何解决?

使用文件时,您应该告诉NSURL URL应该指向文件:

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

最新更新