"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 – 如何从资产网址保存视频所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)