0

我的代码中有一个AudioTrack生成的。我从这里检索了代码。

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

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

我需要的是检索给定频率的频段级别,假设freqOfTone = 1000; //Hz我需要获取频段 2 的级别(频段 2 的范围是 461Hz 到 1800Hz)。

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

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

4

1 回答 1

1

像这样的getBandLevel

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

short maxEQLevel = equalizerWrapper.getBandLevelRange()[1];
于 2015-02-09T10:41:12.243 回答