AVAssetExportSession отсутствует аудиодорожка при экспорте на устройство - PullRequest
2 голосов
/ 06 февраля 2011

Я запускаю экспорт на симуляторе и все отлично работает. Я запускаю его на устройстве, и видео экспортируется, но нет звука. Это заставляет меня поверить, что я должен использовать аудиоформат, который не поддерживает устройство, но OS X делает, поскольку симулятор использует то, что использует OS X. Я пробовал m4a, aiff и aifc и не повезло! Есть идеи ??

1 Ответ

0 голосов
/ 21 июня 2011

У меня очень похожая проблема.Похоже, это не относится к кодекам, так как я сделал отдельный тестовый пример, который отлично работает с тем же видео.Есть связанный вопрос , в котором говорится, что проблема может заключаться в воспроизведении одних и тех же активов с использованием MPMoviePlayerController.Это привело меня на правильный путь (вроде).

В моем случае проблема возникла из-за использования активов в AVPlayer во время экспорта.Мне не удалось найти точную комбинацию, из-за которой экспорт отбрасывает звуковую дорожку - в отдельном тестовом проекте экспорт работает нормально, даже если ресурс воспроизводится в AVPlayer одновременно.После нескольких часов попыток найти точную причину я сдался и просто вытолкнул актив из проигрывателя, используя replaceCurrentItemWithPlayerItem:nil во время экспорта.Это хак, но это работает.

AVFoundation - очень мощная структура, но, боже, я бы хотел, чтобы она не была настолько привередливой или, по крайней мере, регистрировала больше ошибок вместо того, чтобы молча производить мусор.

...