音乐播放器之(音量控制的实现)

来源:互联网 发布:舆情分析算法 编辑:程序博客网 时间:2024/05/18 03:36

今天介绍一下音乐播放器的声音控制逻辑,安卓没接触多久,不对的地方忘大神指出,适用于初学者。

首先,我们需要一个类AudioManager此类为管理器,来控制音量,下面是需要定义的变量

AudioManager am;//管理器控制音量    SeekBar seekBar_time,seekBar_listen;//时间进度条,声音进度条    int maxVolume =50;//最大音量    int curVolume =20;//当前音量    int stepVolume =0;//每次调整的音量幅度    TextView mAddVolume,mLessVolume;//加减音乐

第二部实例化此类控件

   seekBar_listen =(SeekBar)findViewById(R.id.sb_volume);        mAddVolume = (TextView) findViewById(R.id.tv_add_volume);        mLessVolume = (TextView) findViewById(R.id.tv_less_volume);        am  = (AudioManager) getSystemService(Context.AUDIO_SERVICE);        maxVolume =am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);        curVolume =maxVolume/2;        stepVolume =maxVolume/6;        seekBar_listen.setMax(maxVolume);        seekBar_listen.setProgress(curVolume);

第三部控制音量大小及Seekbar的逻辑


/** * 声音seekbar监听调节音量 */        seekBar_listen.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {            @Override            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {            }            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            @Override            public void onStopTrackingTouch(SeekBar seekBar) {            curVolume =seekBar_listen.getProgress();                adjustVolume();            }        });    }/** * 加大音乐 */public void addVolume(View view){        curVolume+=stepVolume;    if(curVolume>=maxVolume){        curVolume = maxVolume;    }seekBar_listen.setProgress(curVolume);    adjustVolume();}    /**     * 减小音乐     */    public void lessVolume(View view){        curVolume-=stepVolume;        if(curVolume<=0){            curVolume = 0;        }        seekBar_listen.setProgress(curVolume);        adjustVolume();    }/** * 调整音量 */private void adjustVolume(){        am.setStreamVolume(AudioManager.STREAM_MUSIC,curVolume,AudioManager.FLAG_PLAY_SOUND);    }
以下是音量控制界面




阅读全文
0 0
原创粉丝点击