Рингтон по умолчанию в приложении VOIP в iOS
Я пытаюсь найти способ использовать рингтон по умолчанию для входящего вызова на устройстве iPhone.
В настоящее время я использую AVAudioplayer, т.е.
NSURL *url=[NSURL URLWithString:@"CustomSound"];
AVAudioPlayer *aplayer=[[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
aplayer.numberOfLoops=-1;
[aplayer play]
Можно ли найти звук рингтона по умолчанию для пользователя и воспроизвести его?
Спасибо
1 ответ
Рекомендуемый способ - использовать CallKit. Тогда ваше приложение VoIP получит множество вещей "бесплатно". Когда вы вводите входящий вызов с помощью CallKit, iOS автоматически воспроизводит правильный рингтон.
Для этого нет публичного API, об этом спрашивали на SO в 2012 году, но сегодня это все еще верно
см.: Как программно воспроизводить рингтон по умолчанию для телефона?
с недокументированными значениями перечисления AudioServicesPlaySystemSound может это сделать, но это НЕ действительно безопасно для магазина приложений.
см.: Воспроизведение звукового сигнала (аналогично мелодии сообщения по умолчанию)
совет:
возможно использовать AudioServicesPlaySystemSound
as: Звук воспроизводится при текущей громкости звука системы, без программного управления громкостью