我正在使用SimpleAudioEngine,并尝试在继续之前检测音效是否完成播放。
我正在寻找任何方法,但我尝试实现的那个方法不起作用!
CDSoundEngine *engine = [CDAudioManager sharedManager].soundEngine;
ALuint soundId = [[SimpleAudioEngine sharedEngine] playEffect:soundId];
float seconds = [engine bufferDurationInSeconds:soundId];
每次我使用bufferDurationInSeconds时,它都会将一个浮点值-1返回到变量秒中。我检查了实现,当ID无效时,它会返回-1,但我百分之百确定ID是有效的!有人可以帮我解决这个问题,或者建议我另一种方法来检测声音效果的结束吗?