2014-01-08 48 views
0

我想在seekbar的幫助下設置我的mediaplayer對象的音量。我在我的應用中使用了它的setVolume()方法,但它沒有用,因爲音量沒有變化。 這裏是我的代碼:使用seekbar設置媒體播放器對象的音量

setVolumeControlStream(AudioManager.STREAM_MUSIC); 
     volumeSeekbar=(SeekBar)findViewById(R.id.seekBar1); 
     audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
     volumeSeekbar.setMax(audioManager 
      .getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 
     volumeSeekbar.setProgress(audioManager 
       .getStreamVolume(AudioManager.STREAM_MUSIC)); 

    volumeSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

      @Override 
      public void onStopTrackingTouch(SeekBar arg0) { 
       // TODO Auto-generated method stub 
       Log.i(tag,"touch stopped"); 

      } 

      @Override 
      public void onStartTrackingTouch(SeekBar arg0) { 
       // TODO Auto-generated method stub 
       Log.i(tag,"touch started"); 

      } 
      @Override 
      public void onProgressChanged(SeekBar seekBar, int progress, 
        boolean fromUser) { 
       //mp is the mediaplayer object.. 
       mp.setVolume(progress, progress); 
       Log.i(tag,"working with seekbar"); 
          } 

     }); 
    } 

audioManager和volumeseekbar被初始化。

回答

2

使用下面的代碼它的工作對MEE ..

private SeekBar mSeekBarVolume; 
    private AudioManager audioManager; 
    private int maxVolume; 
    private int curVolume; 
/** 
    * To initialize the seek bar 
    */ 
    private void initialiseSeekBar() { 

     maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
     curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     mSeekBarVolume.setMax(maxVolume); 
     mSeekBarVolume.setProgress(curVolume); 
     mSeekBarVolume 
       .setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
        @Override 
        public void onStopTrackingTouch(SeekBar arg0) { 
        } 

        @Override 
        public void onStartTrackingTouch(SeekBar arg0) { 

        } 

        @Override 
        public void onProgressChanged(SeekBar arg0, int arg1, 
          boolean arg2) { 
         audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 
           arg1, 0); 
        } 
       }); 
    } 
+0

其實我想組合的兩首歌曲,併爲我必須設置使用媒體播放器對象來管理使用單一的搜索條兩首歌曲的音量音量。這次真是萬分感謝 :) – ank