2009-03-12 4 views
5

アプリケーション内からデバイスのボリュームを制御することはできませんが、ボリュームを制御するアプリケーションにあるUIScrollBarにデバイスのボリュームを影響させたいと思います。iPhone - キャプチャデバイスのボタンのプッシュ

私はLast.fmアプリケーションがそれを実行するため、これが可能であることを知っています。この動作を実装したいと思います。

私はインターウェブに関する情報をほとんど見つけることができません。誰でもここで助けてくれる? :)

答えて

15

それはこの

AudioSessionAddPropertyListener (kAudioSessionProperty_CurrentHardwareOutputVolume ,audioVolumeChangeListenerCallback, self); 

このように私のビューコントローラののviewDidLoadで初期化されるリスナーコールバック

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

で簡単ですが、あまりにも優しい、すべてのSDK /のApp Storeがあります。

+0

メモリ警告が表示された場合、ビューがアンロードされ、コールバックに2度サインアップするとviewDidLoadでビューをアンロードすると危険です。 –

+0

これはバックグラウンドでも動作します。私はこれを達成する方法がありますか? – Swati

関連する問題