2012-04-22 6 views
2

SO를 살펴본 결과이 질문에 대한 답변을 찾을 수 없습니다. ALAssets를 사용하여 맞춤 이미지 선택기를 만들었지 만 일반 이미지 픽커가 아니기 때문에 비디오의 자동 압축이 필요 없습니다. ALAsset 비디오 압축

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]; 

지금 문제는, 내가 큰 비디오 파일, 응용 프로그램 충돌을 선택할 때, 그것은 메모리 경고를 받기 때문에 : 나는 자산에서 영상을 NSData을 얻고있다 방법이있다

. 어쨌든 비디오 파일을 압축하거나 트리밍하여 비디오 파일이 그렇게 크지 않을까요?

답변

1

큰 동영상에서도 동일한 문제가있었습니다. 애셋의 버퍼에 작은 양의 바이트 만 반복해서 복사하여 비디오 데이터에 추가해야합니다.