iPhone – 如何从资产网址保存视频
发布时间:2020-12-15 01:51:23 所属栏目:百科 来源:网络整理
导读:我想从资源网址将视频保存到我的应用文档中.我的资产网址如下: – "assets-library://asset/asset.MOV?id=1000000394ext=MOV" 我试过这个: – NSString *str=@"assets-library://asset/asset.MOV?id=1000000394ext=MOV";NSData *videoData = [NSData dataW
我想从资源网址将视频保存到我的应用文档中.我的资产网址如下: –
"assets-library://asset/asset.MOV?id=1000000394&ext=MOV" 我试过这个: – NSString *str=@"assets-library://asset/asset.MOV?id=1000000394&ext=MOV"; NSData *videoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:str]]; [videoData writeToFile:mypath atomically:YES]; 但在第二行[NSData dataWithContentsOfURL:[NSURL URLWithString:str]]我得到了程序崩溃的原因: – 我想知道如何访问资产视频网址. Thanx任何帮助. 解决方法
我认为你最好的选择是使用这种方法
getBytes:fromOffset:length:error: 的 ALAssetRepresentation 您可以像这样获得资产的默认表示 ALAssetRepresentation *representation = [someVideoAsset defaultRepresentation]; 所以我不应该这样做(我离开了我的Mac,所以这还没有经过测试) ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init]; [assetLibrary assetForURL:videoUrl resultBlock:^(ALAsset *asset) { ALAssetRepresentation *rep = [asset defaultRepresentation]; Byte *buffer = (Byte*)malloc(rep.size); NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil]; NSData *data = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES]; [data writeToFile:filePath atomically:YES]; } errorBlock:^(NSError *err) { NSLog(@"Error: %@",[err localizedDescription]); }]; 其中videoUrl是您尝试复制的视频的资产网址,而filePath是您尝试将其保存到的路径. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |