私は2つのボタンを持つ簡単なiPhoneアプリを作ろうとしています:開始と停止。スタートを押すと、電話のマイク音量を聞き取り、マイクに向かってどのくらい大きな音を出しているかをラベルに表示します。停止したら、聞き終わりです。関数の値を表示
私はSCListenerという素晴らしいクラスを見つけましたが、実装する方法はわかりません。今、私は次のコード
-(IBAction)getVolume
{
SCListener *listener = [SCListener sharedListener];
[listener listen];
Float32 peakPower = [listener peakPower];
NSString *theString = [NSString stringWithFormat:@"Level is: %1.2f", peakPower];
[volumeLabel setText:theString];
}
にフックアップボタンを持っているこれは完璧に動作しますが、一度だけのボリュームを取得します。私のような何かをしようとしました:
[listener addObserver:self
forKeyPath:@"peakPower"
options:NSKeyValueObservingOptionOld
context:NULL];
をしかしpeakPowerがメソッド変数ではないので、私はそれにオブザーバーを置くことはできません。 SCListenerのようなクラスを使用して、ユーザーがボタンを押して、のラベルを常にに更新できるようにするには、どうすればよいですか?
おかげで、 JP