2012-02-28 75 views
2

UPDATE:安卓:在用户界面上显示媒体音量滑块

所以我用seekbar和SeekBar和挂钩的听众

onCreate方法:

audio = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
volume_label.setText(String.valueOf(volume));*/ 
volumebar.setMax(audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 
volumebar.setProgress(60); 
volumebar.setOnSeekBarChangeListener(VolumeChange); 

this.setVolumeControlStream(AudioManager.STREAM_MUSIC); 


private OnSeekBarChangeListener VolumeChange = new OnSeekBarChangeListener() 
    { 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 
     { 
      int index = seekbar.getProgress(); 
      audio.setStreamVolume(AudioManager.STREAM_MUSIC, index, 1); 
      // volume_label.setText(String.valueOf(index)); 
     } 
     public void onStartTrackingTouch(SeekBar seekBar) 
     { 
      // 
     } 

     public void onStopTrackingTouch(SeekBar seekBar) 
     { 
      // 
     } 
    }; 

,但我可以使用搜索者但不影响音频声音,尝试增加和减少声音,但没有效果,我还应该执行什么?

更新的最终

我在具有播放/暂停/上一页/下一页/探寻一切按预期工作的MediaPlayer的工作,我打算添加volume slider使用户可以改变音量,而不是使用硬件音量增大/减小按钮。

我试过这段代码,但没有在用户界面上显示。

内onCreate方法:

Activity.setVolumeControlStream(AudioManager.STREAM_MUSIC) 

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 40, AudioManager.FLAG_PLAY_SOUND); 
+0

看看这里http://stackoverflow.com/questions/4178989/android-development-change-media-volume – 2012-02-28 19:49:02

回答

6

希望这有助于其他...这里是我怎么能够实现:

leftAm = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    int maxVolume = leftAm.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
    int curVolume = leftAm.getStreamVolume(AudioManager.STREAM_MUSIC); 
    SeekBar volControl = (SeekBar)findViewById(R.id.leftVolume); 
    volControl.setMax(maxVolume); 
    volControl.setProgress(curVolume); 
    volControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 


    @Override 
    public void onStopTrackingTouch(SeekBar arg0) { 
    // TODO Auto-generated method stub 
    } 

    @Override 
    public void onStartTrackingTouch(SeekBar arg0) { 
    // TODO Auto-generated method stub 
    } 

    @Override 
    public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) { 
    // TODO Auto-generated method stub 
    leftAm.setStreamVolume(AudioManager.STREAM_MUSIC, arg1, 0); 
    } 
    }); 

的.xml:

<SeekBar 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/volumebar" 
      android:max="100" 
      android:paddingBottom="10dip"/> 
+0

非常感谢你.........非常感谢你......... – famfamfam 2015-10-26 08:44:18