【发布时间】:2011-10-01 19:52:06
【问题描述】:
我在字节数组中有一些音频数据(原始 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 ... :-(
欢迎提出任何建议:-)
【问题讨论】:
-
你已经尝试过什么?你检查过AudioManager 是否对你有帮助吗?
-
我用过 Visualizer,它工作正常。当然我现在有更高的最低 API。