从AssetLibrary获取视频流并保存到文件

ALAssetsLibrary *library = [[ALAssetsLibrary alloc]init];

    [library enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock:^(ALAssetsGroup *group, BOOL *stop) {

        [group setAssetsFilter:[ALAssetsFilter allVideos]];

        if (group.numberOfAssets > 0)

        {

            NSIndexSet *videoSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, group.numberOfAssets)];

            [group enumerateAssetsAtIndexes:videoSet options:0 usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {

                ALAssetRepresentation *representation = [result defaultRepresentation];

                NSString *savingPath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/%@",representation.filename];

                [[NSFileManager defaultManager]createFileAtPath:savingPath contents:nil attributes:nil];

                NSFileHandle *writingHandle = [NSFileHandle fileHandleForWritingAtPath:savingPath];

                int bufferSize = 1024;

                uint8_t buffer[bufferSize];

                unsigned long long read = 0,length = 0;

                NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];

                int n = 0;

                for (;read < representation.size;)

                {

                    if (n % 10 == 0)

                    {

                        [pool release];

                        pool = nil;

                        pool = [[NSAutoreleasePool alloc]init];

                    }

                    length = [representation getBytes:buffer fromOffset:read length:bufferSize error:nil];

                    read += length;

                    NSData *fileData = [NSData dataWithBytes:(const void *)buffer length:(NSUInteger)length];

                    [writingHandle writeData:fileData];

                    n++;

                }

                [writingHandle closeFile];

                [pool drain];

            }];

        }

    } failureBlock:^(NSError *error) {

 

    }];

时间: 2025-01-17 21:46:30

从AssetLibrary获取视频流并保存到文件的相关文章

jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中

有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求中把订单号写到包括有线程号的命名文件中.完成出来的样子是这样的 步骤如下: 1.Jmeter 发送http请求 1) 新建HTTP信息头管理器 2) 新建HTTP请求 2,在下单过后返回部分信息如下:"msg":"下单成功","result":&qu

java获取网页内容保存到文件

package com.mkyong;   import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.U

在windows条件,Ping加上时间戳,并保存到文件

在windows条件,Ping加上时间戳,并保存到文件 转载:http://blog.csdn.net/byply/article/details/50628403 1.在D盘新建"ping.vbs"文件,输入如下代码: Dim args, flag, unsuccOut args="" otherout="" flag=0 If WScript.Arguments.count = 0 Then WScript.Echo "Usage:

linux kernel将关键信息保存到文件做法 很好的调试方法

linux kernel将关键信息保存到文件做法      很好的调试方法 下面有2个示例: 1:保存机器从开机到结束的VBATT: 2:保存uart接收到的数据到文件: 意义不多说了. 以下是代码: #include <linux/fs.h> #include <asm/uaccess.h> #include <asm/unaligned.h> static struct file *fp =NULL; int write_to_file (char *buf, in

php导出csv数据在浏览器中输出提供下载或保存到文件的示例

来源:http://www.jb51.net/article/49313.htm 1.在浏览器输出提供下载 /** * 导出数据到CSV文件 * @param array $data 数据 * @param array $title_arr 标题 * @param string $file_name CSV文件名 */ function export_csv(&$data, $title_arr, $file_name = '') { ini_set("max_execution_tim

Python学习笔记_Chapter 4数据保存到文件

1. What For 将基于内存的数据存储到磁盘上,达到持续存储. 2. HOW 方法一: 将数据写到文件中 常规的处理方式 1 #file.x被打开的文件,model打开文件的方式 2 out=open('file.x','model') 3 #print将item写入到file指示的文件中,item可以是字符串或列表等 4 print(item,file=out) 5 #close是必须的,起到刷新输出的作用 6 out.close() open('file','model')中model

谷歌浏览器修改CSS和js后同步保存到文件中 (译)

谷歌浏览器修改CSS和js后同步保存到文件中. 英文原文:http://www.stephensaw.me/google-chrome-devtools-source-maps/ 谷歌的Chrome DevTools源地图 谷歌的Chrome DevTools发展得越来越好,尤其是他们快速的Blink and V8的性能 ,而且他们使DevTools更好. 最近我发现,编辑源代码的正确的方式是使用源映射了Chrome DevTools. Source Maps 要验证源地图的开启,转至DevTo

将屏幕内容保存到文件中

[email protected]>spool aa.txt; //将内容保存到aa.txt文件中去 [email protected]>select * from tab; TNAME TABTYPE CLUSTERID ------------------------------------------------------------ -------------- ---------- BONUS TABLE D TABLE DEPT TABLE E TABLE EMP TABLE S

49.将手机收藏信息保存到文件中

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.Docu