利用滚动条滑动控制音量:
定义:
private SeekBar mseekBarvolume;
以下实现代码:
//调节音量--begin-------------------------
//音量控制,初始化定义
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//取得最大音量
int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
//取得当前音量
syscurrenvolume= mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); mseekBarvolume = (SeekBar) findViewById(R.id.seekBar_volume);
// 进度条绑定最大音量,最大音量
mseekBarvolume.setMax(maxVolume);
// 进度条绑定当前音量
mseekBarvolume.setProgress(syscurrenvolume); //调节音量事件
mseekBarvolume.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override
public void onStopTrackingTouch(SeekBar seekBar) {
//移动后放开事件
} @Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
} @Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
// 取得当前进度
int tmpInt = seekBar.getProgress(); // 当进度小于1时,设置成1,防止太小。
if (tmpInt < 1) {
tmpInt = 1;
} // 根据当前进度改变亮度
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, tmpInt, 0);
}
});
//调节音量--end---------------- }
参考以下代码实现:
Android音量控制调节(转自:http://blog.csdn.net/hufeng882412/article/details/7310131)
1 //音量控制,初始化定义
2 AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
3 //最大音量
4 int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
5 //当前音量
6 int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
直接控制音量的多少:
1 if(isSilent){
2 mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
3 }else{
4 mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, tempVolume, 0); //tempVolume:音量绝对值
5 }
以一步步长控制音量的增减,并弹出系统默认音量控制条:
1 //降低音量,调出系统音量控制
2 if(flag == 0){
3 mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,
4 AudioManager.FX_FOCUS_NAVIGATION_UP);
5 }
6 //增加音量,调出系统音量控制
7 else if(flag == 1){
8 mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,
9 AudioManager.FX_FOCUS_NAVIGATION_UP);
10 }