You can use the "OtherAudioIsPlaying" audio recording property to check if another system process is currently using audio equipment. It must be “true” if VoiceOver says “false” if not.
In fact, this may not work if the user plays music in the background. But most users who run VoiceOver usually do not have any other audio settings, constantly, as this makes it difficult to understand what VoiceOver says.
Here is a usage example:
UInt32 otherAudioIsPlaying; UInt32 propertySize = sizeof(otherAudioIsPlaying); AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying,&propertySize, &otherAudioIsPlaying); if(otherAudioIsPlaying) {
source share