SimpleAudioEngine
Не имеет метода, подобного isBackgroundMusicPlaying
для эффектов, но вы можете сохранить BOOL
с именем isPlaying и использовать CDSoundSource
CDSoundSource* currentSound = [[CDAudioManager sharedManager] audioSourceForChannel:kASC_Right];
[currentSound load:audioFile];
currentSound.delegate = self;
currentSound.backgroundMusic = NO;
isPlaying = YES;
[currentSound play];
Затем реализовать обратный вызов:
- (void) cdAudioSourceDidFinishPlaying:(CDLongAudioSource *) audioSource {
isPlaying = NO;
}
Я не знаю точно, является ли это правильным способом инициализации CDSoundSource
, так как я бесстыдно украл код из этой темы .Может быть, вам стоит взглянуть на CDAudioManager Class Reference
Надеюсь, это поможет вам указать правильное направление.