tags:

views:

384

answers:

1

I'm using AVAudioPlayer to play sounds on a game. When the user locks the device, I pause the game (and send it to a resume view) and want all the sounds to stop playing.

However, since the resume view is the same I use when loading a saved game, that view triggers a sound using an AVAudioPlayer. When it does so with the screen locked, the sound is audible, even though I'm setting the audio session to kAudioSessionCategory_SoloAmbientSound.

Does anyone know how to stop all sounds even if AVAudioPlayer play is called?

I tried calling this method:

AudioSessionSetActive(false)

but it didn't help.

Update: I'm currently setting the volume to 0.0 when the device is locked, however, I wanted to know if there was a built-in way via AudioSessions, etc.

Thank you

A: 

The best way I could find is to set the volume to 0 on lock events, and restore it when the device gets unlocked.

pgb