Изменить громкость в Android?

Могу ли я изменить громкость мультимедиа? и как? Я использовал это до сих пор:

setVolumeControlStream(AudioManager.STREAM_MUSIC); 

Но имейте поиск и хотите изменить объем носителя, а не объем звонка.

Так может кто-нибудь показать мне, как просто изменить объем мультимедиа на onCreate() и позже я исправлю поисковую панель.

Solutions Collecting From Web of "Изменить громкость в Android?"

Правильный метод использования будет setStreamVolume на вашем AudioManager . Это может выглядеть так

 AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, [int value], [if desired a flag]); 

Пример использования флага заключается в получении звукового сигнала при настройке тома, чтобы пользователь мог услышать результат. Флаг для этого будет AudioManager.FLAG_PLAY_SOUND .

Вы можете использовать AudioManager.FLAG_SHOW_UI если вы не хотите воспроизводить звук, но отображаете тост с текущим значением. Использование должно получить обратную связь. Не имеет значения, слышно или визуально.

Чтобы получить максимальное допустимое значение для данного потока, вы просто вызываете getStreamMaxVolume() в AudioManager и получаете целочисленное число назад, которое представляет … ну максимальное допустимое значение для тома.

 private AudioManager audio; 

Внутри onCreate:

 audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

Переопределить onKeyDown:

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); return true; case KeyEvent.KEYCODE_VOLUME_DOWN: audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); return true; default: return false; } } 

Вы можете использовать следующий код для обработки тома с помощью SeekBar:

 AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); SeekBar sbVolumeBooster = (SeekBar) findViewById(R.id.sbVolumeBooster); sbVolumeBooster.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)); sbVolumeBooster.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)); sbVolumeBooster.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar arg0) { } @Override public void onStartTrackingTouch(SeekBar arg0) { } @Override public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) { audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0); // 0 can also be changed to AudioManager.FLAG_PLAY_SOUND } }); 

Предоставление 0 – в флагах позволяет избежать визуального и звукового индикатора. Это хорошо, когда вы реализуете свой собственный звуковой бар и индикатор, и вы не хотите, чтобы андроид добавлял что-либо.

Используйте adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, flags);

http://developer.android.com/reference/android/media/AudioManager.html#adjustStreamVolume (int, int, int)