我的代码中生成了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)。
有谁知道如何检索生成音调的波段级别?
答案 0 :(得分:1)
像这样的getBandLevel
short minEQLevel = equalizerWrapper.getBandLevelRange()[0];
short maxEQLevel = equalizerWrapper.getBandLevelRange()[1];