Для пользователя для управления объемом мое приложение андроида имеет меню, состоящее из ползунка, который обеспечивает международные значения от 0 до 10 при перетаскивании. После того, как я получаю значение, я должен регулировать громкость к соответствующему значению, выбранному пользователем, и хорошо, это - часть, которую я не знаю для реализации, и мне 'd нравится находить об этом.
Используйте класс 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.