AudioManager類位於android.Media包中,該類提供訪問控制音量和鈴聲模式的操作。
//獲取AudioManager實例對象 AudioManager audioManage = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); //獲取最大音量和當前音量,參數:STREAM_VOICE_CALL(通話)、STREAM_SYSTEM(系統聲音)、STREAM_RING(鈴聲)、STREAM_MUSIC(音樂)和STREAM_ALARM(鬧鈴) int max = audioManager.getStreamMaxVolume(int streamType); int current = audioManager.getStreamVolume(int streamType); //獲取當前的鈴聲模式,返回值:RINGER_MODE_NORMAL(普通)、RINGER_MODE_SILENT(靜音)或者RINGER_MODE_VIBRATE(震動) int rMode = audioManager.getRingerMode(); //獲取當前音頻模式,返回值:MODE_NORMAL(普通)、MODE_RINGTONE(鈴聲)、MODE_IN_CALL(呼叫)或者MODE_IN_COMMUNICATION(通話) int mode = audioManager.getMode(); //設置音量大小,第一個參數:STREAM_VOICE_CALL(通話)、STREAM_SYSTEM(系統聲音)、STREAM_RING(鈴聲)、STREAM_MUSIC(音樂)和STREAM_ALARM(鬧鈴);第二個參數:音量值,取值范圍為0-7;第三個參數:可選標志位,用於顯示出音量調節UI(AudioManager.FLAG_SHOW_UI)。 audioManager.setStreamVolume(int streamType, int index, int flags); //設置鈴聲模式,參數:RINGER_MODE_NORMAL(普通)、RINGER_MODE_SILENT(靜音)或者RINGER_MODE_VIBRATE(震動) audioManager.getRingerMode(int ringerMode); //設置音頻模式,參數:MODE_NORMAL(普通)、MODE_RINGTONE(鈴聲)、MODE_IN_CALL(呼叫)或者MODE_IN_COMMUNICATION(通話) audioManager.setMode(int mode); //設置靜音/取消靜音,第二個參數:請求靜音狀態,true(靜音)false(取消靜音) audioManager.setStreamMute (int streamType, boolean state); //調節手機音量大小,第二個參數:調整音量的方向,可取ADJUST_LOWER(降低)、ADJUST_RAISE(升高)、ADJUST_SAME(不變)。 audioManager.adjustStreamVolume(int streamType, int direction, int flags);