Code Android pour augmenter volume média programmatiquement (AudioManager)
Utiliser AudioManager.adjustStreamVolume() avec ADJUST_RAISE. Nécessite permission MODIFY_AUDIO_SETTINGS (accordée apps système/avec consentement utilisateur via panneau volume).
Kotlin (Moderne)
val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager audioManager.adjustStreamVolume( AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI // or FLAG_PLAY_SOUND ) Java (Legacy)
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); audioManager.adjustStreamVolume( AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI ); Types de flux
STREAM_MUSIC— média, jeux, vidéo.STREAM_RING— sonneries, notifications.STREAM_ALARM— alarmes.STREAM_VOICE_CALL— volume appel.STREAM_SYSTEM— sons système.STREAM_DTMF— tons numérotation.STREAM_ACCESSIBILITY— TalkBack.STREAM_BLUETOOTH_SCO— voix casque BT.
Flags
FLAG_SHOW_UI— affiche toast curseur volume système.FLAG_PLAY_SOUND— joue son changement volume.FLAG_REMOVE_SOUND_AND_VIBRATE— ajustement silencieux.FLAG_VIBRATE— retour haptique.
Bonne pratique (API 28+)
Utiliser AudioManager.setStreamVolume() avec index absolu (0–max) pour contrôle précis. Interroger max via getStreamMaxVolume().
val maxVol = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC) audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVol, AudioManager.FLAG_SHOW_UI) Permissions
- Pas permission spéciale pour
adjustStreamVolume(action utilisateur). setStreamVolumenécessiteMODIFY_AUDIO_SETTINGS_NOTIFICATION_POLICYou action utilisateur.- Ne pas détourner touches volume — override
onKeyDown(KeyEvent.KEYCODE_VOLUME_UP)dans Activity.
Tester sur device — routage audio émulateur diffère.
