Я пытаюсь настроить stream volume
с помощью SeekBar
(AudioMan инициализируется):android как отрегулировать объем потока с помощью seekBar?
sbTest = (SeekBar)findViewById(R.id.seekBar1);
sbTest.setMax(audioMan.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
sbTest.setProgress(audioMan.getStreamVolume(AudioManager.STREAM_MUSIC));
sbTest.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
audioMan.adjustStreamVolume(AudioManager.STREAM_MUSIC,
progress, AudioManager.FLAG_SHOW_UI);
}
});
аварий приложение с IllegalArgumentException
как только я касаюсь SeekBar
. Первые линии LogCat (с последующим тоннами номеров строк классов системы):
04-22 22:58:28.400: E/AndroidRuntime(28881): FATAL EXCEPTION: main
04-22 22:58:28.400: E/AndroidRuntime(28881): java.lang.IllegalArgumentException: Bad direction 8
Я полагаю, целочисленные параметры я передаю методу, являются недействительными. Итак, как настроить громкость потока с помощью SeekBar?
это работает отлично, спасибо. У вас есть объяснение, почему они сделали 2 метода, которые делают почти то же самое? – Droidman
@ Maver1ck: 'adjustStreamVolume()' - применить дельта к текущему тому. Вы использовали бы это, например, с кнопками + и -. 'setStreamVolume()' просто устанавливает громкость, игнорируя текущий том, более подходящий для 'SeekBar'. – CommonsWare
получил это :) спасибо – Droidman