Установите громкость приложения для Android - PullRequest
6 голосов
/ 29 марта 2010

Чтобы пользователь мог контролировать громкость, в моем приложении для Android есть меню, состоящее из ползунка, который при перетаскивании предоставляет значения от 0 до 10. После того, как я получу значение, я должен установить громкость на соответствующее значение, выбранное пользователем, и это часть, которую я не знаю, чтобы реализовать, и я хотел бы найти об этом.

1 Ответ

11 голосов
/ 29 марта 2010

Используйте класс AudioManager . По сути код выглядит следующим образом:

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(streamType, volume, flags);

Проблема в том, что громкость устройства не обязательно отображается от 0 до 10, как у вас в слайдере. В моем эмуляторе это значение от 0 до 7. Так что вам нужно сделать getStreamMaxVolume(...), чтобы узнать, каков ваш максимальный уровень, а затем определить свою ценность как часть этого. Например, если ваш пользователь выбирает том 8 из 10, это эквивалентно 0,8 * 7 = 5,6, что вы должны округлить до 6 из 7.

«Поток» относится к таким вещам, как громкость звонка, громкость уведомлений, громкость музыки и т. Д. Если вы хотите изменить громкость звонка, вам нужно убедиться, что все ваши команды имеют AudioManager.STREAM_RING в качестве streamType.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...