android.media.AudioManager.setStreamVolume (int streamType, int index, int flags) - PullRequest
2 голосов
/ 12 июня 2011

Я пытаюсь изменить громкость уведомлений, но не звонок. Однако, когда я использую эту функцию, уведомление и громкость звонка изменяются.

Пример кода:

AudioManager mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
int volNot = mAudioManager.getStreamVolume(STREAM_NOTIFICATION);
int volRing = mAudioManager.getStreamVolume(STREAM_RING);
Log.d(volNot + "," + volRing, "not, ringer");
mAudioManager.setStreamVolume(STREAM_NOTIFICATION, 1,  0);
volNot = mAudioManager.getStreamVolume(STREAM_NOTIFICATION);
volRing = mAudioManager.getStreamVolume(STREAM_RING);
Log.d(volNot + "," + volRing, "not, ringer");

Для результата setStreamVolume(STREAM_NOTIFICATION, 1, 0) изменяет значение notifications(STREAM_NOTIFICATION) на 1, но также изменяет значение ringer(STREAM_RING) на 1.

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

Это связано с тем, что в телефоне есть настройка звуков ---> громкость, на которой установлен флажок, снимите флажок и повторите код, этот параметр говорит, что громкость звонка будет вашим объемом уведомлений и визы стих.

0 голосов
/ 12 марта 2013

Начиная с ICS (Android 4.0), Ringer и Notification совместно используют поток томов в официальных Android ROMS.До этого пользователь мог разделить потоки.

...