Мы пытаемся взять существующее видео с аудио (.mov) и создать более удобную для электронной почты версию. Кажется довольно простым, и приведенный ниже код делает то, что нам нужно ... почти.AVAssetExportSession no audio (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]; }];
Я тестировал его в обоих направлениях, без разницы. Мы создаем фильм с помощью AVAssetWriter и вызываем [assetWriterInput markAsFinished] и [assetWriter finishWriting] на нем. Он отлично работает на устройстве (или на рабочем столе после xfer). – Jer
На самом деле это БОЛЬШАЯ подсказка! Если я принудительно завершу приложение после записи, а затем зайду, чтобы создать меньшее видео, которое оно работает. Итак, теперь, чтобы узнать, почему. – Jer
Клянусь, что этот материал AV требует, чтобы вуду работал правильно. –