私は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];
問題は、大きなビデオ ファイルを選択すると、メモリ警告が表示されるため、アプリがクラッシュすることです。ビデオファイルがそれほど大きくならないように、ビデオを圧縮したり、トリミングしたりする方法はありますか?