Экспорт аудио + видео с помощью AVAssetExportSession, но звук не воспроизводится в iphone4 4.2.1 - PullRequest
0 голосов
/ 14 февраля 2012

Я экспортирую аудиофайл audio.caf с видео video.mp4 и создаю новую композицию output.mp4. Он отлично работает с iOS 5.0, но с 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, и оба в порядке, только композиция не добавляет аудио.

Вот как я добавляю звуковую дорожку в композицию:

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

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 19 марта 2012

Я обнаружил, что мне нужно изменить расширение файла на 'mov', затем выполнить мой экспорт (я использую предустановку PassThrough), а затем изменить его обратно на mp3 (в моем случае).Похоже, ошибка ....

0 голосов
/ 17 февраля 2012

Я изменил звук на звук .m4a, и теперь он работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...