2012-06-19 2 views
-1

Я работаю над игровым приложением. Но есть проблема с контролем громкости. Я хочу изменить громкость медиаплеера с помощью seekBar, а не на объем системного медиа. Есть ли решение для изменения объема медиаплеера через seekBar.Изменение объема медиаплеера на панели поиска

Заранее благодарен.

ответ

4

Прежде всего, получите ссылку от AudioManager;

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

Чтобы увеличить громкость:

audioMan.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_VIBRATE | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI); 

Для низкого объема:

audioMan.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_VIBRATE | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI); 

Чтобы получить максимальный объем:

int maxVolume = audioMan.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 

Чтобы получить текущий объем:

int currVolume = audioMan.getStreamVolume(AudioManager.STREAM_MUSIC); 

Вы можете удалить любой из флагов, которые я включил

+0

Благодаря другу .... Я сделал так быстро, с успехом помощью Ваше сообщение. – Kalpesh

0

Может быть, это поможет ...

protected static void setVolume(int volume) { 
     currentVolume = volume; 
     { 
      if (volume == 1) { 
       volume = 2; 
      } 
      try { 
       float vol = ((float) volume/CONSTANT.SYSTEM_MAX_VOLUME); 
       mediaPlayer.setVolume(vol, vol); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 

    } 
Смежные вопросы