Вы все еще можете использовать программные подходы для получения состояния отключения звука, однако есть одна вещь, в которой вы должны быть уверены:
установите AVAudioSession на Ambient!Например, если вы установите его в «Воспроизведение», это не будет заботиться о состоянии выключения звука!
Вы можете просто установить состояние следующим образом:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
Чтобы найти несколько примеров кода для запросовсостояние отключения звука из вашего приложения, вы можете найти рабочие образцы здесь .
У меня была та же проблема, что и у вас, когда я использовал Finch для OpenAL.Я просто установил soundengine для запуска сеанса Ambient, и теперь мой выключатель звука работает правильно:
[soundEngine activateAudioSessionWithCategory:AVAudioSessionCategoryAmbient];