利用滚动条滑动控制音量:
定义:
1 private SeekBar mseekBarvolume;
以下实现代码:
1 //调节音量--begin------------------------- 2 //音量控制,初始化定义 3 mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 4 //取得最大音量 5 int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 6 //取得当前音量 7 syscurrenvolume= mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 8 9 mseekBarvolume = (SeekBar) findViewById(R.id.seekBar_volume); 10 // 进度条绑定最大音量,最大音量 11 mseekBarvolume.setMax(maxVolume); 12 // 进度条绑定当前音量 13 mseekBarvolume.setProgress(syscurrenvolume); 14 15 //调节音量事件 16 mseekBarvolume.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 17 18 @Override 19 public void onStopTrackingTouch(SeekBar seekBar) { 20 //移动后放开事件 21 } 22 23 @Override 24 public void onStartTrackingTouch(SeekBar seekBar) { 25 // TODO Auto-generated method stub 26 } 27 28 @Override 29 public void onProgressChanged(SeekBar seekBar, int progress, 30 boolean fromUser) { 31 // TODO Auto-generated method stub 32 // 取得当前进度 33 int tmpInt = seekBar.getProgress(); 34 35 // 当进度小于1时,设置成1,防止太小。 36 if (tmpInt < 1) { 37 tmpInt = 1; 38 } 39 40 // 根据当前进度改变亮度 41 mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, tmpInt, 0); 42 } 43 }); 44 //调节音量--end---------------- 45 47 } 48
参考以下代码实现:
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 }