`
wonderzl
  • 浏览: 78902 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

选取相册视频,并获得路径。

阅读更多

- (NSString*)videoAssetURLToTempFile:(NSURL*)url
{
    
    NSString * surl = [url absoluteString];
    NSString * ext = [surl substringFromIndex:[surl rangeOfString:@"ext="].location + 4];
    NSTimeInterval ti = [[NSDate date]timeIntervalSinceReferenceDate];
    NSString * filename = [NSString stringWithFormat: @"%f.%@",ti,ext];
    NSString * tmpfile = [NSTemporaryDirectory() stringByAppendingPathComponent:filename];
    
    ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
    {
        
        ALAssetRepresentation * rep = [myasset defaultRepresentation];
        
        NSUInteger size = [rep size];
        const int bufferSize = 8192;
        
        NSLog(@"Writing to %@",tmpfile);
        FILE* f = fopen([tmpfile cStringUsingEncoding:1], "wb+");
        if (f == NULL) {
            NSLog(@"Can not create tmp file.");
            return;
        }
        
        Byte * buffer = (Byte*)malloc(bufferSize);
        int read = 0, offset = 0, written = 0;
        NSError* err;
        if (size != 0) {
            do {
                read = [rep getBytes:buffer
                          fromOffset:offset
                              length:bufferSize 
                               error:&err];
                written = fwrite(buffer, sizeof(char), read, f);
                offset += read;
            } while (read != 0);
            
            
        }
        fclose(f);
        
        
    };
    
    
    ALAssetsLibraryAccessFailureBlock failureblock  = ^(NSError *myerror)
    {
        NSLog(@"Can not get asset - %@",[myerror localizedDescription]);
        
    };
    
    if(url)
    {
        ALAssetsLibrary* assetslibrary = [[[ALAssetsLibrary alloc] init] autorelease];
        [assetslibrary assetForURL:url 
                       resultBlock:resultblock
                      failureBlock:failureblock];
    }
    
    return tmpfile;
}

分享到:
评论

相关推荐

    拍照和相册选取图片并裁剪得到路径

    拍照和相册选取图片并裁剪得到路径上传服务器

    安卓选取多张相片拿到照片路径预览

    安卓选取多张相片拿到照片路径预览,因为拿到路径,可以根据照片路径对照片进行各种各样你想要实现的处理,比如上传,压缩,预览等等

    android读取本地照片和相册

    GalleryActivity读取本地相册及照片 能够按相册区分 并选取照片 1 读取本地照片 2 查看本地的相册,以及其中照片信息 3 选择一个相册,查看其中照片 4 选取照片进行操作或者上传 5查看自己选择的照片 详情请看博客 ...

    Android拍照、相册选取、裁剪图片综合(已修复网上版本的各种问题)

    Android拍照、相册选取、裁剪图片综合(已修复网上版本的各种bug问题,不会出现什么路径错误以及各种错误,我在三星和华为手机上完美运行,兼容性很强,试一试,绝对是你想要的)

    iOS将相册中图片上传至服务器的方法

    在使用app时,从相册中选取图片作为头像是很常用的操作,首先打开相册选择图片,然后将图片保存至本应用的document,最后将document中图片的路径保存至NSUserDefaults和服务器。 从相册中选取图片或拍照 //从相册中...

    GPS_GoogleMap Offline

    GPS_GoogleMap Offline 是小巧、快速、功能强大地图工具。...POI点图片增加选取相册图片方式 增加共享坐标到其他地图工具功能 谷歌卫星图路网优化,增加叠加高德路网卫星图 百度路线搜索增加避开高速模式

    Android-个人简介自我介绍APP-附PPT

    这个app主题是个人简介,核心功能是用了数据库存储信息,让信息是动态的,应用在个人信息、爱好和设置功能上面,并且在个人相册中也用到了数据库存储选取的本地文件路径,进行读取,还有一点application使用在设置...

    HTML+JAVA 手机端相册或者拍照上传到服务器,简单的代码样例(使用控件input type=file)

    HTML+JAVA 手机端相册或者拍照上传到服务器。前台代码部分:手机选择图片input type=file,通过form表单提交到后台;后台java代码部分:获取表单提交的文件和普通控件数据,将文件写入服务器某路径下

    Android开发实现从相册中选择照片功能详解

    主要介绍了Android开发实现从相册中选择照片功能,涉及Android权限控制、事件绑定、文件路径与获取等相关操作技巧,需要的朋友可以参考下

    闪灵Flash网站X系列 build20150914.rar

    同时 每个网站还可以选取多个相册模块,多个新闻模块,多个视频模块...这样又增加了很多组合方式! 闪灵Flash网站X系列相对V/T的改进 最大的改进: 支持模块自由组合,模块有多种样式可选。 其他细节上的改进: ...

    微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)

    一、使用APIwx.chooseImage(OBJECT) wx.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照。 OBJECT参数说明: 参数 ...album 从相册选图,camera 使用相机,...成功则返回图片的本地文件路径列表 tempFilePa

    Android相机拍照、截图功能的实例演示

    摘要:Java源码,Android源码,Android截图 Android相机拍照、相册选取后直接显示以及截图后显示,解决因Bitmap导致的内存溢出问题,源码实现过程部分注释讲解:  将保存在本地的图片取出并缩小后显示在界面上、由于...

    微信小程序上传一或多张图片

    1.选取图片   wx.chooseImage({ sizeType: [], // original 原图,compressed 压缩图,默认二者都有 sourceType: [], // album 从相册选图,camera 使用相机,默认二者都有 success: function (res) { console.log...

    独立开发微信小程序——“桌游聚乐会”项目实践上线

    sourceType: [], // album 从相册选图,camera 使用相机,默认二者都有 success: function (res) { console.log(res); var array = res.tempFilePaths, //图片的本地文件路径列表 } }) 2.上传图片   wx.uploadFile...

    《iPhone开发实战》.(Christopher Allen).pdf

    在 web开发方面,分别介绍了三个 iphone web库,即 webkit、iui和 canvas,并讨论了 web开发环境 dashcode,最后阐述 web应用程序的调试。在 sdk开发方面,详细描述其各种组件和功能,包括 xcode、interface builder...

    Google Android SDK开发范例大全(第3版) 1/5

    4.32 选取文字的聪明文字联想 4.33 设计与Launcher相同的三页滑动Layout 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView 5.2 ACTION!CALL!拨打电话 5.3 自制发送短信程序 5.4 自制发送E-mail程序 ...

    Google Android SDK开发范例大全(第3版) 4/5

    4.32 选取文字的聪明文字联想 4.33 设计与Launcher相同的三页滑动Layout 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView 5.2 ACTION!CALL!拨打电话 5.3 自制发送短信程序 5.4 自制发送E-mail程序 ...

    Google Android SDK开发范例大全(第3版) 3/5

    4.32 选取文字的聪明文字联想 4.33 设计与Launcher相同的三页滑动Layout 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView 5.2 ACTION!CALL!拨打电话 5.3 自制发送短信程序 5.4 自制发送E-mail程序 ...

    Google Android SDK开发范例大全(第3版) 5/5

    4.32 选取文字的聪明文字联想 4.33 设计与Launcher相同的三页滑动Layout 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView 5.2 ACTION!CALL!拨打电话 5.3 自制发送短信程序 5.4 自制发送E-mail程序 ...

Global site tag (gtag.js) - Google Analytics