Ios 将NSData与MPMoviePlayerViewController一起使用
我正在尝试将NSData与MPMoviePlayerViewController一起使用Ios 将NSData与MPMoviePlayerViewController一起使用,ios,mpmovieplayercontroller,nsdata,Ios,Mpmovieplayercontroller,Nsdata,我正在尝试将NSData与MPMoviePlayerViewController一起使用 NSData *data = [NSData dataWithBytesNoCopy:mData3->mappedAddress+100398125 length:2313453 freeWhenDone:NO]; NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF16StringEncoding]; N
NSData *data = [NSData dataWithBytesNoCopy:mData3->mappedAddress+100398125 length:2313453 freeWhenDone:NO];
NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF16StringEncoding];
NSURL *movieURL = [NSURL fileURLWithPath:dataString];
MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
[self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];
这会导致玩家先打开一秒钟,然后被解雇
当我使用主捆绑包中文件的URL在本地访问电影文件时,它可以完美地播放
如何使用NSData在iOS上播放视频
谢谢无法直接从内存中的NSData blob播放电影。您是从Internet下载剪辑的吗?如果是,为什么不先将其保存,然后将其作为文件打开?否。该文件映射到虚拟内存,但从何处开始?通过电话?是的。手机的虚拟内存。我知道NSData和AVAudioPlayer中的mp3文件也存在类似的问题,其中文件头实际上会导致AVAudioPlayer错误地处理文件,但将相同的mp3与NSURL一起使用也可以。也许这是一个类似的问题。我这样问是因为如果该文件存储在应用程序的沙盒目录中,您可以简单地将其作为文件加载,如下所示