Подавление входящей мелодии, как FaceTime Video - PullRequest
0 голосов
/ 26 февраля 2020

FaceTime управляет воспроизведением другой мелодии при входящем прерывистом («обычном» / на SIM-карте) голосовом вызове во время видеосеанса FaceTime. Этот рингтон менее навязчив. Кроме того, ему удается продолжить потоковую передачу звука, в то время как он приостанавливает видеопоток.

Например, если я попробую то же самое на WhatsApp, WhatsApp просто приостановит весь вызов, как только появится входящий вызов. Он также воспроизводит стандартную мелодию звонка.

Мой вариант использования - воспроизведение коротких аудиоклипов для пользователя (<10 сек c), в некоторых случаях пользователь может прослушивать только 1 раз. Поэтому было бы неплохо, если бы этот клип можно было воспроизвести без прерывания. Мне удалось сделать это на Android, во время воспроизведения на входящем звонке будет отображаться только небольшое системное сообщение, похожее на тост, где звонок можно принять или отклонить. Мелодия также отключена на этот короткий промежуток времени. FaceTime - лучший аналог поведения iOS, которое я смог найти. </p>

Любые предложения очень ценятся!

1 Ответ

0 голосов
/ 26 февраля 2020

Если я правильно понимаю, вы хотите воспроизводить звуки, не прерываемые определенными приложениями / вызовами.

AVAudioSession имеет метод setCategory:, который позволяет вам изменить тип звука, который воспроизводит ваше приложение (сеанс) .

try? AVAudioSession.sharedInstance().setActive(true)
try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, mode: .default, options: .mixWithOthers)

Установите активный сеанс аудио и установите соответствующую категорию для аудио, которое вы хотите воспроизвести. В соответствии с таблицей ( поведение категории аудиосеанса ) в приведенной ниже ссылке, и, если я правильно понимаю, AVAudioSessionCategoryPlayAndRecord - это подходящая категория для вас.

https://developer.apple.com/library/archive/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategoriesandModes/AudioSessionCategoriesandModes.html

...