I know you cannot control device volume from within your application, but I would like the device volume to be able to affect the UIScrollBar I have in my application to con
It's 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 gets initialized in my view controller's viewDidLoad like this
AudioSessionAddPropertyListener (kAudioSessionProperty_CurrentHardwareOutputVolume ,audioVolumeChangeListenerCallback, self );
This is all SDK/App Store friendly too.