利用滾動條滑動控制音量:
定義:
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 }