iPhone – 如何从资产网址保存视频

iPhone – 如何从资产网址保存视频,第1张

概述我想从资源网址将视频保存到我的应用文档中.我的资产网址如下: – "assets-library://asset/asset.MOV?id=1000000394&ext=MOV" 我试过这个: – NSString *str=@"assets-library://asset/asset.MOV?id=1000000394&ext=MOV";NSData *videoData = [NSData 我想从资源网址将视频保存到我的应用文档中.我的资产网址如下: –

"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]]我得到了程序崩溃的原因: –
由于未捕获的异常’NSinvalidargumentexception’终止应用程序,原因:’ – [NSURL长度]:发送到实例的无法识别的选择器

我想知道如何访问资产视频网址.

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是您尝试将其保存到的路径.

总结

以上是内存溢出为你收集整理的iPhone – 如何从资产网址保存视频全部内容,希望文章能够帮你解决iPhone – 如何从资产网址保存视频所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存