Я разработал приложение для чата, и проблема в том, что уведомления могут быть услышаны, даже если телефон находится в бесшумном режиме (1). Дело в том, что я хочу, чтобы уведомления воспроизводились, когда экран заблокирован (2). Я проверил все категории AVAudioSession, и кажется, что у вас может быть один из следующих вариантов:iOS/Воспроизведение аудио, когда экран заблокирован, но не когда телефон в бесшумном режиме
- Звуки отключены, когда телефон находится в режиме молчания или заблокирован;
- Звук включен, даже если телефон находится в тихом режиме или на экране заблокирован.
Как я могу отключить звуки при использовании телефона в бесшумном режиме, но включен, когда телефон НЕ в бесшумном режиме и экране заблокирован? Можно ли еще больше настроить AVAudioSession или (по-видимому, не может) легко обнаруживать бесшумный режим программным путем?
Возможно, я могу добиться этого, используя API системных звуковых служб. Кажется, что этот API не подлежит AVAudioSession и не может переопределить переключатель звонка/без звука. Проблема в том, что этот API не такой мощный, как AVAudioPlayer. Поэтому я попытаюсь определить, можно ли воспроизводить звук с помощью System Sound Services (играя короткий чистый звук системы и проверяя время между вызовом PlaySystemSound и обратным вызовом). Если время очень маленькое, я буду знать, что я молчу и не запускаю AVAudioPlayer. Будете пытаться на следующей неделе и держать вас в курсе. – Georges