Мультимедийная громкость вместо громкости телефона в Android - PullRequest
4 голосов
/ 31 января 2011

Я делаю простое музыкальное приложение для Android.Он работает нормально, но когда я хочу изменить громкость мультимедиа, я не могу сделать это прямо из приложения.Если я нажимаю кнопку увеличения / уменьшения громкости, она меняет громкость телефонных звонков, поэтому мне нужно перейти в другое приложение (игру), а при повторном нажатии на эти кнопки она меняет громкость мультимедиа.

Знаете ли вы какой-либо способвыбрать, чтобы эти кнопки громкости работали только для мультимедийной громкости в моем приложении вместо целого телефона?

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 06 апреля 2012

Что в действительности представляет собой easiset?

http://developer.android.com/reference/android/app/Activity.html#setVolumeControlStream%28int%29

просто вызовите setVolumeControlStream из onCreate вашей деятельности и передайте STREAM_MUSIC или все, что вы используете для воспроизведения звука на

2 голосов
/ 31 января 2011

Я не знаю, есть ли метод по умолчанию для этого, но вы всегда можете сделать это:

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
   if (   keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || 
          keyCode == KeyEvent.KEYCODE_VOLUME_UP) { 
       //magic goes here
   } else {
       return super.onKeyDown(keyCode, event); 
   }
}
1 голос
/ 31 января 2011

Встроенный класс, который вы ищете - AudioManager. Я считаю, что конкретный метод вам нужен setStreamVolume. Тип потока будет AudioManager.STREAM_MUSIC Вы можете прочитать об этом [здесь] [1].

Редактировать: Я думаю, я не могу сделать это гиперссылкой .... поэтому здесь - это ссылка на класс верхнего уровня ... странно.

[1]: http://developer.android.com/reference/android/media/AudioManager.html#setStreamVolume(int, int, int)

...