Вернуть регулятор громкости звонку устройства iOS после завершения воспроизведения

У меня есть аудиоприложение, которое использует категорию аудиосеанса «Воспроизведение мультимедиа», чтобы разрешить фоновый звук. После инициализации моего аудиосеанса аппаратные кнопки громкости на устройстве iOS управляют громкостью моего аудиосеанса.

Как только воспроизведение звука остановится, я хотел бы вернуть управление звонком телефона аппаратным кнопкам регулировки громкости, но моя попытка сделать это путем деактивации аудиосеанса не дала результата.

Вот как я инициализирую и активирую свой аудиосеанс:

AudioSessionInitialize(NULL, NULL, interruptionListenerCallback, self);

AudioSessionAddPropertyListener(kAudioSessionProperty_AudioRouteChange, 
                                audioRouteChangeListenerCallback, 
                                self);
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;

AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
                        sizeof(sessionCategory),           
                        &sessionCategory);

Вот как я пытаюсь деактивировать аудиосеанс и вернуть управление звонком устройства iOS обратно аппаратным регуляторам громкости:

AudioSessionSetActive(false);

Там - это по крайней мере одно известное мне приложение, которое ведет себя подобным образом (приложение Audible.com для iOS). Кто-нибудь знает, что я делаю неправильно?

7
задан Seth McFarland 20 November 2011 в 17:26
поделиться