我浏览了 SO 并找不到这个问题的有效答案。我已经使用 ALAssets 创建了一个自定义图像选择器,但现在它不是常规的图像选择器,因此没有视频的自动压缩。
这就是我从资产中获取视频 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];
现在的问题是,当我选择一个大的视频文件时,应用程序崩溃了,因为它收到了内存警告。无论如何压缩视频甚至修剪视频文件不会那么大?