播放期间获取音量

时间:2011-07-09 10:27:38

标签: android audio volume

我在字节数组中有一些音频数据(原始AAC)用于播放。在播放过程中,我需要绘制其音量/幅度(播放时的音频波形)。

我现在想的是每200毫秒获得当前音频的音量/幅度并将其用于绘图(使用画布),但我不知道该怎么做。

。 。 。

** 2011/07/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){}
}

但只能获得固定值,而不是动态音量......

我还找到了一个名为Visualizer的类,但不幸的是,我的目标平台是Android 2.2 ...: - (


欢迎任何建议: - )

1 个答案:

答案 0 :(得分:1)

经过几天和几夜,我发现了一个名为ringdroid的Android应用项目 可以解决我的问题。 它帮助我获得一个音频增益值数组,以便我可以用来绘制我的声波。

顺便说一下,根据我的经验,由于比特率太低,无法正确解析某些.AMR或.MP3 ......