It is easy with a listener callback
void audioVolumeChangeListenerCallback (void *inUserData, AudioSessionPropertyID inID, UInt32 inDataSize, const void *inData)
{
RootViewController *controller = (RootViewController *) inUserData;
Float32 newGain = *(Float32 *)inData;
[controller setGainManual:newGain];
}
which is initialized in my viewDidLoad view, like this
AudioSessionAddPropertyListener (kAudioSessionProperty_CurrentHardwareOutputVolume ,audioVolumeChangeListenerCallback, self );
All this also supports the SDK / App Store.
source
share