音效

来源:互联网 发布:linux yum安装vim 编辑:程序博客网 时间:2024/04/29 08:41
音频效果: 
   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));//设置均衡器的值 
0 0
原创粉丝点击