/** * MainThread */ public static MediaPlayer.Equalizer getEqualizer(Context context) { final SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context); if (pref.getBoolean("equalizer_enabled", false)) { final float[] bands = Preferences.getFloatArray(pref, "equalizer_values"); final int bandCount = MediaPlayer.Equalizer.getBandCount(); if (bands.length != bandCount + 1) return null; final MediaPlayer.Equalizer eq = MediaPlayer.Equalizer.create(); eq.setPreAmp(bands[0]); for (int i = 0; i < bandCount; ++i) eq.setAmp(i, bands[i + 1]); return eq; } else return null; }
@MainThread public static MediaPlayer.Equalizer readEqualizerSettings() { if (PreferenceUtils.getBoolean(PreferenceUtils.EQUALIZER_ENABLED)) { final float[] bands = PreferenceUtils.getFloatArray(PreferenceUtils.EQUALIZER_VALUES); final int bandCount = MediaPlayer.Equalizer.getBandCount(); if (bands.length != bandCount + 1) { return null; } final MediaPlayer.Equalizer eq = MediaPlayer.Equalizer.create(); eq.setPreAmp(bands[0]); for (int i = 0; i < bandCount; ++i) { eq.setAmp(i, bands[i + 1]); } return eq; } else { return null; } }
public VLCMediaPlayer() { sMediaPlayer = new MediaPlayer(sLibVLC); if (PreferenceUtils.getBoolean(PreferenceUtils.EQUALIZER_ENABLED)) { MediaPlayer.Equalizer equalizer = MediaPlayer.Equalizer.create(); float[] bands = PreferenceUtils.getFloatArray(PreferenceUtils.EQUALIZER_VALUES); equalizer.setPreAmp(bands[0]); for (int i = 0; i < MediaPlayer.Equalizer.getBandCount(); i++) { equalizer.setAmp(i, bands[i + 1]); } sMediaPlayer.setEqualizer(equalizer); } sMediaPlayer.setEventListener(new MediaPlayerListener()); }
@Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (!fromUser) { return; } mEqualizer.setPreAmp(progress - 20); if (mEnableButton.isChecked()) { VLCMediaPlayer.getMediaPlayerInstance().setEqualizer(mEqualizer); } } };