Настройка громкости звука уведомлений - PullRequest
0 голосов
/ 06 апреля 2019

Я использую NotificationChannel для определения уведомления моего приложения.Я установил звук с помощью следующего кода:

AudioAttributes.Builder constructeurAttributsAudio=new AudioAttributes.Builder();
constructeurAttributsAudio.setUsage(AudioAttributes.USAGE_NOTIFICATION_EVENT);
canalNotification.setSound(Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE    + "://" + contexte.getPackageName() + "/raw/cloche"),constructeurAttributsAudio.build());

Когда появляется уведомление, звук воспроизводится правильно, но его громкость установлена ​​на максимум и не учитывает уровень звука, установленный для уведомлений.пользователем.Кто-нибудь знает, как я могу сделать так, чтобы мое приложение установило уровень звука уведомления равным значению, выбранному пользователем?

Редактирование # 1: если я скопирую код для его выполнения в теле приложения (инициируется Button щелкните) вместо метода onReceive моего BroadcastReceiver, звук уведомления правильно воспроизводится на уровне звука, выбранном пользователем для уведомлений.

Редактирование # 2: странно, уровень звука уведомленияправильно, когда приложение выполняется на эмуляторе!Может ли причина быть параметром в конфигурации телефона?(Они оба работают под Android 9).

1 Ответ

0 голосов
/ 06 апреля 2019

Я использую следующий код, надеюсь, полезный и для вас:

 private void setvolume(int volume)
 {
AudioManager manager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
manager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);

Uri notification = RingtoneManager
        .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

MediaPlayer player = MediaPlayer.create(getApplicationContext(), notification);
player.start();

}

...