0

I want to change the volume of ringing by spinning wheel of seekbar but my pretty simple code sometimes set phone to vibrate mode when the progress is 0 and sometimes when it's 1. Help me please.

My code:

final AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
            seekBar1.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_RING));
            seekBar1.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_RING));
            seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
                @Override
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                    audioManager.setStreamVolume(AudioManager.STREAM_RING, progress, 0);
                    Log.e("Point_1", "P is " + progress);
                }

                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {

                }

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {

                }
            });

Thank you.

S.Drumble4
  • 139
  • 8
  • You have to check for and 0 and 1 before setting volume, when 0 then set minimum like .1 so put if condition on audioManager.setStreamVolume(AudioManager.STREAM_RING, progress, 0); – Muneesh Apr 03 '17 at 14:16
  • @mundroid So, if progress is 0 then set minimum else if 1 then set 1 and so on, something like this? – S.Drumble4 Apr 03 '17 at 14:21
  • Yes. Put min value like .01 when 0 and max like .99 when 1 and progress in rest cases. – Muneesh Apr 03 '17 at 14:29

0 Answers0