Насколько важно ждать инициализации CDAudioManager? (а как правильно сделать ожидание?) - PullRequest
1 голос
/ 14 февраля 2012

Демонстрационное приложение Cocos Denshion включает это в метод загрузки звуков:

while ([CDAudioManager sharedManagerState] != kAMStateInitialised) { [NSThread sleepForTimeInterval:0.1]; }

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

Если это критично , я прочитал, что упомянутый здесь метод NSThread на самом деле бесполезен, что он просто приостанавливает все действия во всех классах в приложении, таким образом, если диспетчер аудио был не установка, когда этот цикл while выполняется, этот процесс установки также будет приостановлен во время этого sleep метода, и, таким образом, на самом деле нет никакого смысла спать таким конкретным способом.

Итак, я думаю, что два вопроса:

  1. Что касается аудио-пользователей Cocos, ждете ли вы, пока менеджер аудио проверит настройки, прежде чем загружать звуки?
  2. Правильно ли то, что я слышал о NSThread sleepForTimeInterval? Если так, я удивляюсь, что оно было включено в любое официальное демонстрационное приложение CocosDenshion.

1 Ответ

2 голосов
/ 15 февраля 2012

Я нашел ответ с помощью форума Cocos2d. Больше нет необходимости вручную инициализировать CDAudioManager. Он инициализируется автоматически при первом вызове его синглтона sharedManager. Код в этом вопросе устарел и больше не нужен в текущих версиях CocosDenshion.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...