AVAudioPlayer prepareToPlay обратный вызов в iPhone - PullRequest
5 голосов
/ 05 декабря 2011

Можно ли узнать, когда AVAudioPlayer готов после вызова prepareToPlay?

Если нет, есть ли другой класс, обеспечивающий эту функцию?

Я быхотел бы реализовать что-то вроде этого:

- (void) prepare {
    [audioPlayer prepareToPlay];
    // Update UI to indicate that the audio is being prepared
}

- (void) onAudioReady {
    // Update UI to indicate that the audio is ready
}

1 Ответ

0 голосов
/ 22 февраля 2014

Существует этот класс, который может помочь инициализировать аудио, а затем немедленно воспроизвести его в вашем методе onAudioReady.

https://github.com/nicklockwood/SoundManager

со ссылкой на этот пост: https://stackoverflow.com/a/10417762/1474080

ИЛИ

Вы можете проверить результат BOOL из [audioPlayer prepareToPlay], чтобы увидеть, было ли аудиооборудование инициализировано в соответствии с документацией.Если результат YES, вы можете сгенерировать некоторый пользовательский интерфейс для просмотра пользователем.

prepareToPlay Подготавливает аудиопроигрыватель к воспроизведению, предварительно загрузив его буферы.

  • (BOOL) prepareToPlayВозвращаемое значение Возвращает YES в случае успеха или NO в случае сбоя.

Обсуждение Вызов этого метода предварительно загружает буферы и получает аудиооборудование, необходимое для воспроизведения, что сводит к минимуму задержку между вызовом метода воспроизведения и началом звука.output.

Вызов метода stop или разрешение завершить воспроизведение звука отменяет эту настройку.

...