2012-04-22 125 views
2

我已经看过,所以找不到这个问题的工作答案。我已经使用ALAssets创建了自定义图像选择器,但现在它不是常规图像选择器,因此不会自动压缩视频。ALAsset视频压缩

这是怎么了,我从资产获取视频的NSData:

ALAssetRepresentation *rep = [asset defaultRepresentation]; 
    Byte *buffer = (Byte*)malloc(rep.size); 
    NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil]; 
    data = [[NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES] retain]; 

现在的问题是,当我选择一个大的视频文件,应用程序崩溃,因为它接收到内存警告。无论如何压缩视频或甚至修剪视频文件不会这么大?

回答

1

我对大视频有同样的问题。您应该仅从资产中将少量字节复制到缓冲区中,并将其附加到视频数据中。