Я использую MPMediaPickerController, чтобы пользователь мог выбирать видео и песни из библиотеки на устройстве. Я разрешаю это с инициализацией: initWithMediaTypes:MPMediaTypeAny
для сборщика. Затем пользователь может воспроизвести песню или видео в приложении после экспорта. Вот мой фильм-экспорт кода после снятия его в базовую функциональность:Экспорт видео с MPMediaPickerController - нет звука
- (void)mediaPicker:(MPMediaPickerController*)mediaPicker didPickMediaItems:(MPMediaItemCollection*)mediaItemCollection {
AVAssetExportSession *exportSession;
NSString *filePath;
NSURL *fileUrl;
for (MPMediaItem *item in mediaItemCollection.items) {
NSURL *assetUrl = [item valueForProperty:MPMediaItemPropertyAssetURL];
AVAsset *currAsset = [AVAsset assetWithURL:assetUrl];
exportSession = [[AVAssetExportSession alloc] initWithAsset:[AVAsset assetWithURL:assetUrl] presetName:AVAssetExportPresetHighestQuality];
exportSession.shouldOptimizeForNetworkUse = YES;
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
filePath = [title stringByAppendingString:@".mov"];
fileUrl = [NSURL fileURLWithPath:[[NSFileManager documentDirectory] stringByAppendingPathComponent:filePath]];
exportSession.outputURL = fileUrl;
dispatch_group_enter(dispatchGroup);
[exportSession exportAsynchronouslyWithCompletionHandler:^{
// success
}
dispatch_group_leave(dispatchGroup);
}];
}
Это похоже код работает отлично для этого звука, но и для видео, аудио данного видео не воспроизводится. Большинство контента из iTunes защищены и неэкспортируются, поэтому я хотел протестировать с самодельным быстрым видео, которое я снял с помощью своего iPhone. Я снял видео, перетащил его в iTunes (и сделал его «музыкальным видео», чтобы он отображался правильно и может быть экспортирован в библиотеку моего телефона). Затем я синхронизировал и отправил его на свое устройство для тестирования.
В приложении видео отображается в Media Picker, и я могу экспортировать его без ошибок, которые я вижу. Однако, когда я воспроизвожу его в приложении, он воспроизводит только видео, а не аудио. Другие видео, которые я импортирую из других источников, отлично работают для воспроизведения аудиофайлов видео, поэтому я не думаю, что это сам плеер.
Есть ли что-то, что мне может не хватать здесь, почему звук не попадет на этот вид экспорта из медиа-сборщика? Заранее спасибо за любую помощь по этой проблеме!