Почему происходит задержка воспроизведения звука в Cocos2d? - PullRequest
0 голосов
/ 20 мая 2011

Я уверен, что есть способ сделать это, и я не знаю как, и я новичок в Cocos2d. Я использую SimpleAudioEngine.h, как указано в замечательном учебнике Рэя Вендерлиха (часть 1). Проблема в том, что при воспроизведении звука возникает задержка. Я ЗНАЮ, что есть способ избавиться от задержки, потому что просто посмотрите на все игры, которые уже доступны для iPhone! Обратите внимание, что я делаю это на симуляторе, а не на реальном устройстве, если это имеет значение. Любая помощь приветствуется. Спасибо !!

Ответы [ 2 ]

4 голосов
/ 20 мая 2011

Вы пробовали preloadEffect? предварительно загрузить звуковые эффекты при инициализации перед вызовом playEffect:.

[[SimpleAudioEngine sharedEngine] preloadEffect:@"pew-pew-lei.caf"];
0 голосов
/ 08 июня 2011

Это исправление может не работать.Если звуковой движок не инициализирован должным образом, он никогда не будет предварительно загружен должным образом.

Еще одна возможность заикания звука: ваш код может запрашивать несколько файлов ресурсов одновременно, и если вы не многопоточны,это может повлиять на звуковые эффекты.

Чтобы проверить это: закомментируйте код при воспроизведении звуковых эффектов.Если звуковые эффекты не заикаются при закомментированном коде, это означает, что ваш код «поддерживает занятость устройства или потока».

Я обнаружил эту проблему, когда воспроизводил анимацию взрыва.Когда я комментировал код анимации, звуковой эффект не мешал игре.

...