Android音量調節

準備工作

//初始化音頻管理器
AudioManager mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
//獲取系統最大音量
int maxVolume=mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 獲取設備當前音量
int currentVolume =mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
// 設置seekbar的最大值
sbVolume.setMax(maxVolume);
// 顯示音量
sbVolume.setProgress(currentVolume);

開始調節

調節音量有兩種方式一種是漸進式,即像手動按音量鍵一樣,一步一步增加或減少,另一種是直接設置音量值

  • 漸進式
public void adjustStreamVolume (int streamType, int direction, int flags)
//減少音量
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,AudioManager.FX_FOCUS_NAVIGATION_UP);
//增加電量
mAudioManager.adjustStreamVolume (AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE,AudioManager.FX_FOCUS_NAVIGATION_UP)

第一個streamType是需要調整音量的類型,這里設的是媒體音量,可以是:

STREAM_ALARM 警報
STREAM_MUSIC 音樂回放即媒體音量
STREAM_NOTIFICATION 窗口頂部狀態欄Notification,
STREAM_RING 鈴聲
STREAM_SYSTEM 系統
STREAM_VOICE_CALL 通話
STREAM_DTMF 雙音多頻,不是很明白什么東西

第二個direction,是調整的方向,增加或減少,可以是:

ADJUST_LOWER 降低音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不變,這個主要用于向用戶展示當前的音量

第三個flags是一些附加參數,只介紹兩個常用的

FLAG_PLAY_SOUND 調整音量時播放聲音

FLAG_SHOW_UI 調整時顯示音量條,就是按音量鍵出現的那個
  • 直接設置
public void setStreamVolume (int streamType, int index, int flags)
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_PLAY_SOUND);
//得到聽筒模式的最大值
mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);
//得到聽筒模式的當前值
mAudioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容