Spritekit, parando o som
Atualmente, estou desenvolvendo um jogo usando a biblioteca SpriteKit da Apple, mas não consigo parar o som depois que ele começa a tocar. Tentei usar os métodos listados na documentação para impedir a execução do Skaction, mas nada parece impedir a reprodução do som. Essas foram minhas tentativas de tentar parar o som.
//Playing sound action:
SKAction *music = [SKAction playSoundFileNamed:@"menu.wav" waitForCompletion:YES];
[musicNode runAction:[SKAction repeatActionForever:[SKAction sequence:@[
music,
[SKAction waitForDuration:0],
]]] withKey:@"MUSIC_PLAYING"];
//Later when i want to stop the sound:
[musicNode removeActionForKey:@"MUSIC_PLAYING"]; //Removing the action from the node
[musicNode runAction:[SKAction waitForDuration:0] withKey:@"MUSIC_PLAYING"]; //"Overriding" with another action with the same key
[musicNode removeAllActions]; //Removing all actions from the node
[musicNode removeFromParent]; //Removing the node from the parent
O musicNode é simplesmente um SkpriteNode que executa a ação, embora eu tenha tentado os mesmos métodos diretamente da cena, ou seja: A cena reproduz o som e depois tenta removê-lo. Ou talvez a ação não pare por causa do waitForCompletion definido como YES, mas tentei novamente com NO e os mesmos resultados. Poderia haver alguma maneira de usar o sharedInstante do AVaudioSession para interromper o som? Eu também tentei o seguinte método, mas também falhei:
[[AVAudioSession sharedInstance]setActive:FALSE error:nil];
Obrigado por qualquer ajuda!