Я работаю над приложением Podcast. Это воспроизводит звук, используя тип сеанса AVAudioSessionCategoryPlayback
. Это делает почти все, что я хочу сделать. Он приостанавливает другую музыку, ее прерывают, когда приходит вызов и вообще работает точно так, как я хочу.
С исключением one. Когда воспроизводится звук с более высоким приоритетом (например, при запуске приложения "от поворота к повороту" ), звук в моем приложении сбрасывается громкостью, но продолжает работать. Это создает ужасное смешивание двух голосов, которые нежелательны. Вместо этого я предпочел бы, чтобы звук в моем приложении приостанавливался во время переигранного звука, а затем продолжайте снова, как только он закончится.
Я попробовал изменить различные свойства AVAudioSession, такие как AVAudioSessionCategoryOptionMixWithOthers
, но они изменяют только то, как звуки с более низким приоритетом смешиваются с моим приложением. Они не меняют, как моя смешивается с более высокоприоритетными звуками. Я также пробовал наблюдать свойство otherAudioPlaying
sharedSession
, но это не сработало, когда я эти короткие клипы накладываются.
Есть ли способ обнаружить, когда звук в моем приложении уклоняется, чтобы я мог вместо этого сделать паузу? Или, альтернативно, чтобы предотвратить утечку звука моего приложения, чтобы он воспринимал эти другие звуки как прерывания?
Спасибо.