【问题标题】:iPhone - Capture device button pushiPhone - 捕获设备按钮按下
【发布时间】:2009-03-12 17:44:00
【问题描述】:

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

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

我可以在互联网上找到很少的信息。这里的任何人都可以帮助我吗? :)

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    监听回调很容易

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

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

    AudioSessionAddPropertyListener (kAudioSessionProperty_CurrentHardwareOutputVolume ,audioVolumeChangeListenerCallback, self );
    

    这对 SDK/App Store 也很友好。

    【讨论】:

    • 在 viewDidLoad 中执行此操作是有风险的,因为如果您收到内存警告,您的视图可能会卸载,并且您将注册两次回调。
    • 我希望它也能在后台工作。有没有方法可以实现这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    相关资源
    最近更新 更多