2011-06-20 8 views
2

私たちはオーディオ(.mov)を使用して既存のビデオを取り込み、より電子メールに適したバージョンを作成しようとしています。かなり簡単で、以下のコードは必要なものだけを処理します。AVAssetExportSessionオーディオなし(iPhone)、iPadで動作

iPad2(4.3.3)では、デバッグで動作します&リリースは常にビルドされています。 iPhone 4(4.3.3)または第4世代iPod Touchでは音声はありません。時々、それが何を引き起こすのかについて明確な相関はなく、iPhone上で作業を開始します。アプリを削除して再構築/インストールしても機能しなくなりました。

AVURLAsset* asset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:sourcePath] options:nil]; 
session = [[AVAssetExportSession alloc] initWithAsset:asset 
             presetName:AVAssetExportPresetLowQuality]; 
session.outputURL = [NSURL fileURLWithPath:destPath]; 
session.outputFileType = AVFileTypeQuickTimeMovie; 
session.shouldOptimizeForNetworkUse = YES; 
[session exportAsynchronouslyWithCompletionHandler:^{ 
    [self performSelectorOnMainThread:@selector(conversionFinished) 
          withObject:nil 
         waitUntilDone:NO]; }]; 

答えて

2

MPMoviePlayerなどで映画を再生していますか?私は同じURLを持つ他の初期化されたアセットを再生または使用しているときに、時にはエクスポートの癖があります。

+0

私はそれを両方の方法でテストしましたが、違いはありません。 AVAssetWriterを使用してムービーを作成し、[assetWriterInput markAsFinished]および[assetWriter finishWriting]を呼び出しています。それはデバイス上でうまくいく(またはxfer後のデスクトップ上で)。 – Jer

+0

実際これは大きなヒントです!録画を終えてアプリケーションを強制終了し、小さなビデオを作成するために入ると、それは機能します。それでは、理由を調べてみましょう。 – Jer

+5

私はこのAVスタッフが正しく動作するにはブードーが必要だと誓います。 –

関連する問題