您的位置:首页 > 其它

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

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

首先,我们需要一个类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);
}以下是音量控制界面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: