AVAudioPlayer - você deve criar uma propriedade para funcionar? (Xcode)
Este é o código que estou usando agora e não está funcionando (nada acontece quando pressiono o botão que chama esse método). Anteriormente, eu tinha uma propriedade para o audioPlayer e funcionava (todos os audioPlayers abaixo eram self.audioPlayer, obviamente). O problema era que quando eu tentava tocar o som duas vezes, terminava o primeiro som tocando.
Isso não é bom porque estou fazendo uma placa de som e quero que os sons possam se sobrepor. Eu pensei que eu poderia apenas fazer o audioPlayer uma variável local em vez de uma propriedade e tudo estaria ok, mas agora o som não funciona e eu não consigo entender o porquê. Em todos os tutoriais que encontrei para o AVAudioPlayer, uma propriedade é feita, mas ninguém explica por quê. Se isso não funcionar, que alternativas eu tenho para fazer sons que podem se sobrepor?
- (void)loadSound:(NSString *)sound ofType:(NSString *)type withDelegate:(BOOL)delegate {
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:sound
ofType:type]];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
if (delegate) audioPlayer.delegate = self;
[audioPlayer prepareToPlay];
[audioPlayer play];
}