2010-03-29 2 views
6

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

ответ

11

Используйте класс 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.

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