2011-07-09 10 views
2

再生用にバイト配列内にオーディオデータ(raw AAC)があります。再生中は、音量/振幅を取得する必要があります(再生時にはオーディオ波のようなもの)。再生中に音量を取得する

私は現在、200ミリ秒ごとに現在のオーディオの音量/振幅を取得し、それを(キャンバスを使用して)描画に使用していますが、その方法はわかりません。

。 。 。 。

** 2011年7月13日には、以下を追加します**

申し訳ありませんが、今まで他のプロジェクトに遅れて。

私が試みたのは、スレッドで次のコードを実行し、AACオーディオを再生することでした。

a loop 
{ 
    // int v=audio.getStreamVolume(AudioManager.MODE_NORMAL); 
    // int v=audio.getStreamVolume(AudioManager.STREAM_MUSIC); 
    int v=audio.getStreamVolume(AudioManager.STREAM_DTMF); 
    // Tried 3 settings above 
    Log.i(HiCardConstants.TAG, "Volume - "+v); 
    try{Thread.sleep(200);} 
    catch(InterruptedException ie){} 
} 

しかし、唯一の固定値ではなく、ダイナミックボリュームを取得...

そして、私はまた、ビジュアライザという名前のクラスを見つけましたが、残念ながら、私のターゲットプラットフォームは2.2 Androidのです... :-(


任意の提案は、昼と夜の後歓迎:-)

+0

あなたはすでに何を試してみましたか? [AudioManager](http://developer.android.com/reference/android/media/AudioManager.html)が役立つかどうか確認しましたか? –

+0

私はVisualizerを使用しており、正常に動作します。もちろん私は現在、より高い分のAPIを持っています。 – kotucz

答えて

1

あり、私はringdroid と呼ばれるAndroidアプリのプロジェクトは、私のpを解決できることを見出しました汚れ。 これは、私がサウンドウェーブを描画するために使用できるように、オーディオゲイン値の配列を取得するのに役立ちます。ところで、私の経験として、いくつかの.AMRまたは.MP3が低すぎるビットレートに、正しく解析することができません

...

関連する問題