【发布时间】:2012-05-18 13:38:43
【问题描述】:
这是我用于控制两个搜索栏以在媒体播放器中为两个同时播放的声音设置音量控制的代码。但是在seekbar的进度变化时声音会打开和关闭,在进度变化时不会频繁增加或减少音量。我哪里错了?
audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
volume2 = (SeekBar)findViewById(R.id.volbar2);
volume1 = (SeekBar)findViewById(R.id.volbar);
volume1.setMax(maxVolume);
volume2.setMax(maxVolume);
volume1.setProgress(curVolume);
volume2.setProgress(curVolume);
volume1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean arg2) {
if(seekBar.equals(volume1)){
mediaPlayer.setVolume(progress,progress);
Toast.makeText(getApplicationContext(), ""+progress+progress, 1).show();
}
}
});
volume2.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
// TODO Auto-generated method stub
if(seekBar.equals(volume2)){
mediaPlayer2.setVolume(progress,progress);
}
}
});
【问题讨论】:
-
尝试设置您的媒体播放器音量,例如:-
mediaPlayer.setVolume((progress/100.0f),(progress/100.0f));。我不确定,但你可以做这样的事情希望它有效。 -
您好 Deepak,您的帖子对我很有帮助,但是当我减少搜索栏然后音量减小时会产生另一个问题,但是在进度增加时它不会增加实际状态下的音量...我没有了解这种情况发生的方式..
标签: android media-player android-audiomanager