나 자신을 응답 할 수 있습니다. 확실한 해결책은 다음과 같아야합니다 :
Equalizer.inheritSystemEq()
나는 다음과 같은 성가신 방법으로 만 작업 할 수 있습니다. 솔루션은 더 이상 사용되지 않지만 지원되지 않는 솔루션은 대체 API로 대체되지 않았습니다. 마지막으로
Equalizer equalizerSystem = new Equalizer(0, 0) //0 as second parameter is deprecated.
//get current eq settings for global mix out
short band0 = equalizerSystem.getBandLevel((short) 0);
short band1 = equalizerSystem.getBandLevel((short) 1);
short band2 = equalizerSystem.getBandLevel((short) 2);
short band3 = equalizerSystem.getBandLevel((short) 3);
short band4 = equalizerSystem.getBandLevel((short) 4);
equalizerSystem.release();
//copy these "system" values (Set by another equalizer app) into
//another equalizer instance particular for this audio session.
Equalizer equalizer = new Equalizer(0, mediaPlayer.getAudioSessionId());
equalizer.setEnabled(true);
equalizer.setBandLevel((short) 0, band0);
equalizer.setBandLevel((short) 1, band1);
equalizer.setBandLevel((short) 2, band2);
equalizer.setBandLevel((short) 3, band3);
equalizer.setBandLevel((short) 4, band4);
, 즉 연속적으로 호출 mediaPlayer.prepare() 또는 mediaPlayer.prepareAsync는, 그렇지 않으면
equalizerSystem = new Equalizer(0,0)
이 작동하지 않습니다.
은 또한 AndroidManifest를 설정 :
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
설정을 반복하는 식의 변경을 채택하는, OnParameterChangeListener 통해이를 감지 할 필요가 별도로 존재한다.