AudioManager is useful for processing system volumes. I performed the horizontal volume of Seekbar to control the sound volume using ExoPlayer . Just use this:
Create an AudioManager object:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
Knob Volume Up / Down Hardware Button:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN){ volumeSeekBar.setProgress(audioManager.getStreamVolume(exoPlayer.getAudioStreamType())); } return super.onKeyDown(keyCode, event); } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP){ volumeSeekBar.setProgress(audioManager.getStreamVolume(exoPlayer.getAudioStreamType())); } return super.onKeyUp(keyCode, event); }
Handle volume with Seekbar:
volumeSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { audioManager.setStreamVolume(exoPlayer.getAudioStreamType(), i, 0); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } });
Sanat source share