更新
所以我使用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
,这样用户可以更改音量,而不是使用硬件音量增大/减小按钮
我尝试了这段代码,但没有像在UI上那样显示。
在onCreate方法中:
Activity.setVolumeControlStream(AudioManager.STREAM_MUSIC)
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 40, AudioManager.FLAG_PLAY_SOUND);
答案 0 :(得分: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"/>