iPhone - 捕获设备按钮按下

ada*_*dam 5 iphone objective-c

我知道您无法在应用程序中控制设备卷,但我希望设备卷能够影响我在应用程序中控制卷的UIScrollBar.

我知道这是可能的,因为Last.fm应用程序执行它,我想实现此行为.

我几乎找不到关于互联网的信息.这里的任何人都可以帮助我吗?:)

Joh*_*ker 15

听众回调很容易

void audioVolumeChangeListenerCallback (void *inUserData, AudioSessionPropertyID inID, UInt32 inDataSize, const void *inData)
{
    RootViewController *controller = (RootViewController *) inUserData;
    Float32 newGain = *(Float32 *)inData;
    [controller setGainManual:newGain]; 
}
Run Code Online (Sandbox Code Playgroud)

它在我的视图控制器的viewDidLoad中初始化,就像这样

AudioSessionAddPropertyListener (kAudioSessionProperty_CurrentHardwareOutputVolume ,audioVolumeChangeListenerCallback, self );
Run Code Online (Sandbox Code Playgroud)

这也是所有SDK/App Store友好的.