Как определить, когда закончится воспроизведение звукового эффекта?

Я использую SimpleAudioEngine и пытаюсь определить, закончился ли звуковой эффект, прежде чем продолжить.

Я ищу любой метод, но тот, который я пытаюсь реализовать, не работает!

CDSoundEngine *engine = [CDAudioManager sharedManager].soundEngine;    
ALuint soundId = [[SimpleAudioEngine sharedEngine] playEffect:soundId];

float seconds = [engine bufferDurationInSeconds:soundId];

Каждый раз, когда я использую bufferDurationInSeconds, он возвращает значение с плавающей запятой от -1 до переменной секунды. Я проверил реализацию, и она возвращает -1, когда идентификатор недействителен, но я на 100%, идентификатор действителен!

Может кто-нибудь помочь мне в этой проблеме, или предложить мне другой способ обнаружить конец звукового эффекта?

Ответы на вопрос(1)

Ваш ответ на вопрос