音效
音频效果:android.media.audiofx.AudioEffect--》
Equalizer----均衡器
Virtualizer---视觉器
BassBoost-----低音增强
PresetReverb----混响预置---多在音乐场景中应用--参数包括PRESET_LARGEHALL,PRESET_PLATE,PRESET_LARGEROOM,PRESET_SMALLROOM
EnvironmentalReverb---环境混响---多在游戏场景中应用--参数包括散射、反射水平、反射延迟、混响延迟
private MediaPlayer mMediaPlayer;
private Visualizer mVisualizer;
private Equalizer mEqualizer;
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mMediaPlayer = MediaPlayer.create(this, R.raw.test_cbr);
mMediaPlayer.start();
mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());
mEqualizer.setEnabled(true);
//获取均衡器波段数
short bands = mEqualizer.getNumberOfBands();
final short minEQLevel = mEqualizer.getBandLevelRange()[0];
final short maxEQLevel = mEqualizer.getBandLevelRange()[1];
minEQLevel / 100=> -15 dB
maxEQLevel / 100=> 15 dB
//显示频率(中间频率) 单位:HZ
mEqualizer.getCenterFreq(band) / 1000
进度条显示:
SeekBar bar = new SeekBar(this);
bar.setLayoutParams(layoutParams);
bar.setMax(maxEQLevel - minEQLevel); //1500-(-1500)=3000
bar.setProgress(mEqualizer.getBandLevel(band));//当前显示进度
bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
mEqualizer.setBandLevel(band, (short) (progress + minEQLevel));//设置均衡器的值
音效
音频效果:android.media.audiofx.AudioEffect--》
Equalizer----均衡器
Virtualizer---视觉器
BassBoost-----低音增强
PresetReverb----混响预置---多在音乐场景中应用--参数包括PRESET_LARGEHALL,PRESET_PLATE,PRESET_LARGEROOM,PRESET_SMALLROOM
EnvironmentalReverb---环境混响---多在游戏场景中应用--参数包括散射、反射水平、反射延迟、混响延迟
private MediaPlayer mMediaPlayer;
private Visualizer mVisualizer;
private Equalizer mEqualizer;
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mMediaPlayer = MediaPlayer.create(this, R.raw.test_cbr);
mMediaPlayer.start();
mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());
mEqualizer.setEnabled(true);
//获取均衡器波段数
short bands = mEqualizer.getNumberOfBands();
final short minEQLevel = mEqualizer.getBandLevelRange()[0];
final short maxEQLevel = mEqualizer.getBandLevelRange()[1];
minEQLevel / 100=> -15 dB
maxEQLevel / 100=> 15 dB
//显示频率(中间频率) 单位:HZ
mEqualizer.getCenterFreq(band) / 1000
进度条显示:
SeekBar bar = new SeekBar(this);
bar.setLayoutParams(layoutParams);
bar.setMax(maxEQLevel - minEQLevel); //1500-(-1500)=3000
bar.setProgress(mEqualizer.getBandLevel(band));//当前显示进度
bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
mEqualizer.setBandLevel(band, (short) (progress + minEQLevel));//设置均衡器的值