2012-04-22 4 views
2

私はSOを見てきましたが、この質問に対して正しい答えが見つかりませんでした。 ALAssetsを使用してカスタム画像ピッカーを作成しましたが、通常の画像ピッカーではないので、ビデオの自動圧縮はありません。 ALAsset Video Compression

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

大きなビデオでも同じ問題がありました。少量のバイトだけをアセットからバッファに繰り返しコピーし、ビデオデータに追加する必要があります。