如何在Android.Equalizer中获取音频文件的波段级别

时间:2013-08-09 10:10:14

标签: android audio equalizer

我的代码中生成了AudioTrack。我从here检索了代码。

我需要做的是获得产生音调的乐队水平。因此,为了能够做到这一点,我初始化了Equalizer,并将音频会话设置为生成的音轨的会话ID。

audioTrackSessionId = audioTrack.getAudioSessionId();
equalizer = new Equalizer(1, audioTrackSessionId);
equalizer.setEnabled(true); 

我需要的是检索给定频率的频段电平,让我们说freqOfTone = 1000; //Hz所以我需要得到频段2的电平(频段2的范围是461Hz到1800Hz)。

如果我使用equalizer.getBandLevel(2)它默认返回均衡器的电平,而不是生成的音调电平(audioTrack)。

有谁知道如何检索生成音调的波段级别?

1 个答案:

答案 0 :(得分:1)

像这样的getBandLevel

short minEQLevel = equalizerWrapper.getBandLevelRange()[0];

short maxEQLevel = equalizerWrapper.getBandLevelRange()[1];