将NSMutableData转换为NSURL以在ios中播放视频

将NSMutableData转换为NSURL以在ios中播放视频,ios,photolibrary,Ios,Photolibrary,在套接字流中,当接收数据时,我能够将NSMutableData转换为图像,并能够保存在照片中,但无法将NSMutableData转换为视频 为了我现在的形象 UIImage *imagess = [[UIImage alloc]initWithData:received]; //dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ UIImageWriteToSavedPhotos

在套接字流中,当接收数据时,我能够将
NSMutableData
转换为图像,并能够保存在照片中,但无法将
NSMutableData
转换为视频

为了我现在的形象

UIImage *imagess = [[UIImage alloc]initWithData:received];
//dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    UIImageWriteToSavedPhotosAlbum(imagess, nil, nil, nil);
}); 

有人帮我做同样的视频吗?

首先,你需要将视频保存为本地文件

NSData *receivedData;
…
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"movie.mp4"];
[receivedData writeToFile:path atomically:YES]; 

然后,您可以使用UISaveVideoAtPathToSavedPhotosAlbum函数将视频文件保存到照片卷

NSURL movieURL=[NSURL fileURLWithPath:path];

if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(movieURL)){
    UISaveVideoAtPathToSavedPhotosAlbum(movieURL, nil, nil, nil);
}

此代码无法在其当前状态下编译。@max,我正在后台线程中保存图像。如果您的代码中有一行没有注释,我会很惊讶它是否保存了,更不用说编译了。在执行此操作之前,我们需要创建movie.mp4文件,否则它将自动创建?UISaveVideoAtPathToSavedPhotosAlbum函数需要一个文件路径URL。但在示例中[receivedData writeToFile:path atomically:YES];函数已在创建本地文件,所以您应该可以。文件是否保存@cekisakurek,但在设备中找不到?您能建议它存储在哪里吗?如果您使用NSLog(@“%@”,movieURL);文件应该在那里。thanx@cekisakurek:)它的工作,但你能建议我,它保存在应用程序文档中,但可以直接保存到相机卷吗?