2015-08-19 2 views
0

AVPlayer не воспроизводит файл .aif, записанный с помощью AVAudioRecorder. Мой текущий процесс: категорияAVPlayer не воспроизводит файл, записанный с помощью AVAudioRecorder - Swift

  1. AVAudioSession.sharedInstance установлен в AVAudioSessionCategoryPlayAndRecord
  2. AVAudioRecorder создается с помощью NSURL в директории и настроек формата kAudioFormatAppleIMA4, битрейт 32000, 1 канал, и образцы документов в приложения ставка 16000,0.
  3. Аудио записывается, затем останавливается. Файл сохраняется, и я могу найти его в каталоге документов приложения и проверить правильность записи звука.
  4. Экземпляр AVPlayer создается с помощью NSURL файла. Наблюдатель добавляется к этому объекту для регистрации изменений его статуса. Когда AVPlayer является ReadyToPlay, я вызываю функцию воспроизведения.

Однако, несмотря на то, что поток управления достигает точки AVPlayerStatus.ReadyToPlay и вызывает игру, звук не создается. Я проверяю ошибки и проверяю существование и атрибуты файла в NSURL. Я также попытался выполнить процесс this SO post, создав экземпляр AVAsset, AVPlayerItem и AVPlayer. Не повезло.

Любые мысли о том, почему AVPlayer не воспроизводит аудио для этого недавно записанного локального файла?

Редактировать: Приложение создано для iOS 9 с Xcode 7 beta 5. Приложение способно воспроизводить аудиофайлы, передаваемые с помощью AVPlayer.

ответ

1

Проблема не была вызвана AVAudioRecorder или AVPlayer. Мой URL-адрес записи - это NSURL. Я буду называть файлURL. Я передал этот NSURL другому контроллеру вида, но AVPlayer не играл бы при создании экземпляра с файломURL. я получил намек на то, что идет не так, когда

fileURL.checkResourceIsReachableAndReturnError(&error) 

потерпела неудачу с ошибкой «Файл не существует.» Вместо этого я экземпляр нового NSURL с пути вновь записанного файла с помощью:

let url = NSURL(fileURLWithPath: path) 

С помощью этого URL, я был в состоянии создать экземпляр и играть экземпляр AVPlayer.

 Смежные вопросы

  • Нет связанных вопросов^_^