iPhoneでこのようなことを簡単に行うことができますか? 、重み付けフィルタを適用し、RMS -デシベルの読み値からダイナミックニードルのグラフィックにどのように値を渡すのが簡単か
は、読書のための針の動きを作る方法に
感謝を好きで、あなたは何をやっている知っていれば非常に簡単
iPhoneでこのようなことを簡単に行うことができますか? 、重み付けフィルタを適用し、RMS -デシベルの読み値からダイナミックニードルのグラフィックにどのように値を渡すのが簡単か
は、読書のための針の動きを作る方法に
感謝を好きで、あなたは何をやっている知っていれば非常に簡単
をあなたはUIImageView
に針を置くことができるはずです。すべてのビューには関連する変換があります。これは基本的に行列で、元の点が画面にどのようにマッピングされるかを決定します。これの簡単な操作を行うには、非常にシンプルな方法があります。
UILabel *lblTest = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
lblTest.text = @"Testing";
[view addSubview:lblTest];
lblTest.transform = CGAffineTransformMakeRotation(M_PI/4.0);
はラジアンでPIの四半期で45度(回転したラベルになります。あなたはM_PIを乗じ度をラジアンに変換することができます180.0で割る)。新しいデータポイントが入るたびに、この使用してすでに針をアニメーション化するために手元にメソッドを持って、これはまた、アニメーション化することができることを
注:
[UIView animateWithDuration:5.0 animations:^{
lblTest.transform = CGAffineTransformMakeRotation(M_PI_4);
}];
これは、以上の45度にビューを回転させ、ゆっくりまします5秒のコース。そこにアニメーションのためのいくつかのチュートリアルがあります。 How to use UIView animation tutorial。そして、フレームワークは、すでに例えば:
[UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationCurveEaseInOut|UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{
lblTest.transform = CGAffineTransformMakeRotation(M_PI_4);
} completion:^(BOOL finished) {
}];
が戻って逆自動的に、最初と回転の終わりを「滑らかな」と何度もこれを繰り返すことになります、いくつかの先進的な事柄が可能になります。これは、1秒間待った後、前後に "wiggeling"というラベルをつけます。
値間をジャンプするときに、これを使用して滑らかな効果を導入できます。たとえば、250msごとにサンプリングするだけの場合は、その時間を使ってアニメーションを導入することができます。
同じようにおかげで、それを試してみる – Desmond
コメントます時間加重フィルタを適用し、dBに変換します。大きな問題はマイクの校正です。
しかし、前にバイクアッドでオーディオ処理を行っておらず、それについて何も知らないのなら、それはおそらく簡単ではないでしょう。
情報のおかげで、 – Desmond
既に読んでいる人は、かなりシンプルであるはずです。そのほとんどは静的ですが、更新可能な3つのラベルがあり、針は動的に移動する別のビューになる可能性があります。あなたはあなたの質問にもっと具体的にしたいかもしれません。 –
応答#triPhoenixありがとう。 私は針を動かす方法を知りたいです – Desmond