Я следую за изменениями оборудования, устанавливая этот обратный вызов
AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume, audioVolumeChangeListenerCallback, self);
Но по какой-то причине я пришел к выводу, что для получения исходного состояния требуется неопубликованный вызов API. Я не могу вспомнить в данный момент. Может быть, эта информация поможет вам начать в правильном направлении!