iPhone アプリのサウンドに問題があります。音量を調整するために使用する UISlider オブジェクトがあります。
表示されたら、次の行に基づくコードを使用して、スライダーの初期値を設定します。
AudioSessionGetProperty ('chov',&dataSize,&volume);
そしてそれはうまくいきます。次に、デバイスのハードウェアの音量ボタンを有効にしたときに、それに応じてスライダーを動かしたいと思います。しかし、この部分はこの種のコードに基づいています:
AudioSessionPropertyID volumeChangeID=kAudioSessionProperty_CurrentHardwareOutputVolume;
AudioSessionAddPropertyListener(volumeChangeID,handleSoundVolume,self);
うまくいきません。私が見ることができるのは、コールバック関数:handleSoundVolume は、サウンドが再生されているときにのみ呼び出され、それ以外の場合には呼び出されないことです。一方、AudioSessionGetProperty によって提供される値は、サウンドが再生されているかどうかに関係なく、常に正しい値です。何故ですか?
AudioSessionGetProperty と AudioSessionAddPropertyListener は「一緒に」動作していると思っていましたが、そうではないようです。
iPod touch のデフォルトの音楽アプリを見ると、やりたいことはかなり可能のようです。
情報をありがとう。