下面列出了怎么用android.media.audiofx.LoudnessEnhancer的API类实例代码及写法,或者点击链接到github查看源代码。
private void initialAudioEffect(final int audioSessionId) {
new Thread(new Runnable() {
@Override
public void run() {
try {
loudnessEnhancer = new LoudnessEnhancer(audioSessionId);
mBass = new BassBoost(0, audioSessionId);
mVirtualizer = new Virtualizer(0, audioSessionId);
mEqualizer = new Equalizer(0, audioSessionId);
canceler = AcousticEchoCanceler.create(audioSessionId);
control = AutomaticGainControl.create(audioSessionId);
suppressor = NoiseSuppressor.create(audioSessionId);
getPreference();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
@Override
public AudioEffect create(int audioSession) {
try {
return new LoudnessEnhancer(audioSession);
} catch (RuntimeException e) {
// NOTE: some devices doesn't support LoudnessEnhancer class and may throw an exception
// (ME176C throws IllegalArgumentException)
Log.w(TAG, "Failed to instantiate loudness enhancer class", e);
}
return null;
}
public LoudnessEnhancerController(int audioSessionId) {
try {
enhancer = new LoudnessEnhancer(audioSessionId);
} catch (Throwable x) {
Log.w(TAG, "Failed to create enhancer", x);
}
}
public LoudnessEnhancerController(Context context, int audioSessionId) {
this.context = context;
try {
this.audioSessionId = audioSessionId;
enhancer = new LoudnessEnhancer(audioSessionId);
} catch (Throwable x) {
Log.w(TAG, "Failed to create enhancer", x);
}
}
@Override
public AudioEffect create(int audioSession) {
try {
return new LoudnessEnhancer(audioSession);
} catch (RuntimeException e) {
// NOTE: some devices doesn't support LoudnessEnhancer class and may throw an exception
// (ME176C throws IllegalArgumentException)
Log.w(TAG, "Failed to instantiate loudness enhancer class", e);
}
return null;
}
@Override
public float getTargetGain(AudioEffect effect) {
return ((LoudnessEnhancer) effect).getTargetGain();
}
@Override
public void setTargetGain(AudioEffect effect, int gainmB) {
((LoudnessEnhancer) effect).setTargetGain(gainmB);
}
@TargetApi(Build.VERSION_CODES.KITKAT)
public musicHandler(musicPlayer Gh) {
mEvent = new Event("PLayer");
this.Gh = Gh;
loadStartup();
mediaplayer = new MediaPlayer();
mediaplayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
if(needPlay){
isPrepared = true;
play(needId);
}else{
isPrepared = true;
if(needStop){
needStop = false;
}else{
mediaplayer.start();
}
mediaplayer.setOnCompletionListener(OC);
mEvent.trigger(playerEvents.SONG_CHANGED);
}
}
});
needStop = true;
playByNumber(0);
EQs = new EqlizerSettings(Gh.getBaseContext());
bass = new BassBoost(0, mediaplayer.getAudioSessionId());
bass.setEnabled(true);
equlizer = new Equalizer(0, mediaplayer.getAudioSessionId());
equlizer.setEnabled(true);
virtualizer = new Virtualizer(0, mediaplayer.getAudioSessionId());
virtualizer.setEnabled(true);
if(android.os.Build.VERSION.SDK_INT >= 19){
loudness = new LoudnessEnhancer( mediaplayer.getAudioSessionId());
loudness.setEnabled(true);
}else{
loudness = null;
}
setEQs(EQs.isOn);
setBass(EQs.BASS);
setTrable(EQs.TRABLE);
setVoice(EQs.VOICE);
setVirtualizer(EQs.VIRCHULIZER);
setLoudnessEnhancer(EQs.LOUDNESS);
mEvent.trigger(playerEvents.EQ_CHANGED);
mEvent.trigger(playerEvents.PLAYER_COMPLETE);
}
@Override
public float getTargetGain(AudioEffect effect) {
return ((LoudnessEnhancer) effect).getTargetGain();
}
@Override
public void setTargetGain(AudioEffect effect, int gainmB) {
((LoudnessEnhancer) effect).setTargetGain(gainmB);
}