Cocos Denshion: Воспроизведение звукового эффекта синхронно с музыкой

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

Мой фоновый музыкальный файл .m4a воспроизводится с помощью AVAudioPlayer. Я решил использовать это вместо Cocos Denshion, поскольку у меня есть доступ к свойству currentTime. Возможно, я ошибаюсь, но я не думаю, что смогу получить доступ к этому с помощью CocosDenshion.

Я сделал очень короткий (менее секунды) файл .wav. Я предварительно загружаю свой звуковой эффект в init:

[[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];

Затем, чтобы воспроизвести звуковой эффект, в CCTouchesBegan я вызываю:

[[SimpleAudioEngine sharedEngine] playEffect:@"Assist.wav"];

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

РЕДАКТИРОВАТЬ: Недавно я попробовал несколько вещей, но безрезультатно. Сначала я попытался воспроизвести звуки автоматически, когда они подошли к нужному моменту в песне. У меня все еще была задержка, поэтому я не думаю, что это медленные события касания. Я также пробовал 3 разных звуковых библиотеки.

Однако, когда я запускал симулятор, казалось, что он не тормозит. Есть у кого-нибудь идеи? Я невежественен, и это главная особенность, которую я не могу вытащить ...

6
задан Guru 16 March 2013 в 19:17
поделиться