Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将NSData与MPMoviePlayerViewController一起使用_Ios_Mpmovieplayercontroller_Nsdata - Fatal编程技术网

Ios 将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与MPMoviePlayerViewController一起使用

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一起使用也可以。也许这是一个类似的问题。我这样问是因为如果该文件存储在应用程序的沙盒目录中,您可以简单地将其作为文件加载,如下所示