0

video.mp4ビデオでaudio.cafオーディオファイルを書き出し、新しいoutput.mp4コンポジションを作成しています。 iOS 5.0では正常に動作しますが、iPhone4 4.2.1ではオーディオが再生されません。AVAssetExportSessionでオーディオ+ビデオをエクスポートしますが、iphone4でオーディオが再生されていません4.2.1

NSURL *outputURL = [NSURL fileURLWithPath:outputPath]; 
AVAssetExportSession* _assetExport = [[AVAssetExportSession alloc] initWithAsset:mixComposition presetName:AVAssetExportPresetMediumQuality]; 
_assetExport.outputFileType = AVFileTypeQuickTimeMovie; 
_assetExport.outputURL = outputURL; 
_assetExport.timeRange = CMTimeRangeMake(CMTimeMakeWithSeconds(0.25, 600), videoAsset.duration); 
_assetExport.shouldOptimizeForNetworkUse = YES; 

[_assetExport exportAsynchronouslyWithCompletionHandler:^{ 

私はこのiPhoneの元のトラックをチェックしていますが、どちらもOKです。コンポジションだけではオーディオは追加されません。

NSURL *audioURL = [NSURL fileURLWithPath:audioPath]; 
AVURLAsset* audioAsset = [[AVURLAsset alloc]initWithURL:audioURL options:nil]; 
CMTimeRange audio_timeRange = CMTimeRangeMake(CMTimeMake(startRecording_,1), 
               audioAsset.duration); 

AVMutableCompositionTrack *b_compositionAudioTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid]; 

[b_compositionAudioTrack insertTimeRange:audio_timeRange ofTrack:[[audioAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0] atTime:kCMTimeZero error:&error]; 

それは多くのiOS5をデバイスで働いていた:S事前に

おかげ

これは私が組成物にオーディオトラックを追加している方法です!

+0

質問には関係ありませんが、 'timeRange'は' kCMTimeZero'ではなく '0.25'で始まるように設定されていたのですか?これには特別な理由はありますか? –

+1

はい、私はFacebookにそのビデオをアップロードしたいと思っていたし、プレビューには黒い画面がありました。それを避け、プレビューとして「何か」を見るために、私はビデオを1/4秒後に開始しなければならなかったので、Facebookのプレビューは黒ではなく、ビデオの実際のフレームです。 – nano

答えて

0

オーディオを.m4aオーディオに変更しました。現在は動作しています。

0

ファイルの拡張子を 'mov'に変更してからエクスポートを実行する必要があることが判明しました(私はPassThroughプリセットを使用しています)。バグのようですね....

関連する問題