Android開發之AudioManager(音頻管理器)具體解釋
AudioManager簡單介紹:
AudioManager類提供了訪問音量和振鈴器mode控制。
使用Context.getSystemService(Context.AUDIO_SERVICE)來得到這個類的一個實例。
公有方法:
Public Methods |
|||||||||||
int |
abandonAudioFocus(AudioManager.OnAudioFocusChangeListenerl) 放棄音頻的焦點。 |
||||||||||
void |
adjustStreamVolume(int streamType, int direction, int flags) 調整手機指定類型的聲音。 |
||||||||||
void |
adjustSuggestedStreamVolume(int,int suggestedStreamType intflags) 調整最相關的流的音量。或者給定的回退流。 |
||||||||||
void |
adjustVolume(int,intflags) 調整最相關的數據流的音量。 |
||||||||||
int |
getMode() 返回當前音頻模式。 |
||||||||||
String |
getParameters(String keys) 給音頻硬件設置一個varaible數量的參數值 |
||||||||||
int |
getRingerMode() 返回當前的鈴聲模式。 |
||||||||||
int |
getRouting 這種方法是不贊成的。不直接查詢音頻路由,使用isSpeakerphoneOn(), isBluetoothA2dpOn isBluetoothScoOn(),()和isWiredHeadsetOn()方法。 |
||||||||||
int |
getStreamMaxVolume(int streamType) 返回特定流的最大音量指數。 |
||||||||||
int |
getStreamVolume(int streamType) 返回特定數據流的當前音量索引。 |
||||||||||
int |
getVibrateSetting(int vibrateType) 返回是否該用戶的振動設置為振動類型。 | ||||||||||
boolean |
isBluetoothA2dpOn() 檢查是否A2DP藍牙耳機音頻路由是打開或關閉。 |
||||||||||
boolean |
isBluetoothScoAvailableOffCall() 顯示當前平臺是否支持使用SCO的關閉調用用例。 |
||||||||||
boolean |
isBluetoothScoOn() 檢查通信是否使用藍牙SCO。 |
||||||||||
boolean |
isMicrophoneMute() 檢查是否打開或關閉麥克風靜音。 |
||||||||||
boolean |
isMusicActive() 檢查是否有音樂處於活躍狀態。 |
||||||||||
boolean |
isSpeakerphoneOn() 檢查是否打開或關閉揚聲器。 |
||||||||||
boolean |
isWiredHeadsetOn() 檢查是否插入耳機 |
||||||||||
void |
loadSoundEffects() 載入聲音效果。 |
||||||||||
void |
playSoundEffect((int effectType, float volume) 播放聲音效果(按鍵點擊,蓋開啟/關閉...) |
||||||||||
void |
playSoundEffect(int effectType) 播放聲音效果(按鍵點擊,蓋開啟/關閉...) |
||||||||||
void |
registerMediaButtonEventReceiver(ComponentName eventReceiver) 註冊一個組件MEDIA_BUTTON意圖的唯一接收機。 |
||||||||||
int |
requestAudioFocus(AudioManager.OnAudioFocusChangeListener l,int streamType,int durationHint) 請求音頻的焦點。 |
||||||||||
void |
setBluetoothA2dpOn(booleanon) 這種方法是不贊成的。 不要使用。 |
||||||||||
void |
setBluetoothScoOn(booleanon) 要求使用藍牙SCO耳機進行通訊。 |
||||||||||
void |
setMicrophoneMute(booleanon) 設置是否讓麥克風靜音。 |
||||||||||
void |
setMode(int mode) 設置聲音模式。 |
||||||||||
void |
setParameters(String keyValuePairs) 設置一個音頻硬件數量可變的參數值。 |
||||||||||
void |
setRingerMode(int ringerMode) 設置手機電話鈴聲的模式。 |
||||||||||
void |
setRouting(int mode, int routes, int mask) 這種方法是不贊成的。不設置音頻路由直接使用setSpeakerphoneOn(), setBluetoothScoOn()方法。 |
||||||||||
void |
setSpeakerphoneOn(boolean on) 設置揚聲器打開或關閉。 |
||||||||||
void |
setStreamMute(int streamType,booleanstate) 將手機的指定類型的聲音調整為靜音。 |
||||||||||
void |
setStreamSolo(int streamType,boolean state) 獨奏或來取消特定流。 |
||||||||||
void |
setStreamVolume (int streamType, int index, int flags) 直接設置手機的指定類型的音量值。 |
||||||||||
void |
setVibrateSetting (int vibrateType, int vibrateSetting) 設置設置時應該振動的振動類型。 |
||||||||||
void |
setWiredHeadsetOn(boolean on) 這種方法是不贊成的。不要使用。 |
||||||||||
boolean |
shouldVibrate(int vibrateType) 返回特定類型是否應該依據用戶震動設置和當前的振鈴器 mode。 |
||||||||||
void |
startBluetoothSco() 啟動藍牙SCO音頻連接。 |
||||||||||
void |
stopBluetoothSco() 停止藍牙SCO音頻連接。 |
||||||||||
void |
unloadSoundEffects() 卸載音效。 |
||||||||||
void |
unregisterMediaButtonEventReceiver(ComponentName eventReceiver) 註銷MEDIA_BUTTON意圖的接收機。 |
經常用法說明:
void adjustStreamVolume(int streamType,int direction, int flags)
調整手機指定類型的聲音。當中第一個參數streamType指定聲音類型,該參數可接受例如以下幾個值。
l int STREAM_ALARM:手機鬧鈴的聲音。
l int STREAM_DTMF:DTMF音調的聲音。
l int STREAM_MUSIC:手機音樂的聲音。
l int STREAM_NOTIFICATION:系統提示的聲音。
l int STREAM_RING The:電話鈴聲的聲音。
l int STREAM_SYSTEM:手機系統的聲音。
l int STREAM_VOICE_CALL:語音電話的聲音。
第二個參數指定對聲音進行增大、還是減小該參數可接受例如以下幾個值:
ADJUST_LOWER 減少音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不變,這個主要用於向用戶展示當前的音量第三個參數是調整聲音時的標誌,比如指定FLAG_SHOW_UI,則指定調整聲音時顯示音量進度條。
void setMicrophoneMute(booleanon)
設置是否讓麥克風靜音。
設置為true將麥克風靜音;false關閉靜音
void setMode(intmode)
設置聲音模式。可設置的值有 NORMAL,RINGTONE, 和IN_CALL。
void setRingerMode(intringerMode)
設置手機電話鈴聲的模式。可支持例如以下幾個屬性值。
l int RINGER_MODE_NORMAL:正常的手機鈴聲。
l int RINGER_MODE_SILENT:手機鈴聲靜音。
l int RINGER_MODE_VIBRATE:手機震動。
void setSpeakerphoneOn(booleanon)
設置揚聲器打開或關閉。設置為true開啟免提通話;false關閉免提。
void setStreamMute(intstreamType,booleanstate)
將手機的指定類型的聲音調整為靜音。當中streamType參數與adjustStreamVolume方法中第一個參數的意義同樣。
void setStreamVolume (int streamType, int index, int flags)
直接設置手機的指定類型的音量值。
當中streamType參數與adjustStreamVolume方法中第一個參數的意義同樣。
Android開發之AudioManager(音頻管理器)具體解釋