1. 程式人生 > >Android開發之AudioManager(音頻管理器)具體解釋

Android開發之AudioManager(音頻管理器)具體解釋

應該 數量 service eth out 開發 要求 type 路由

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

(int mode)

這種方法是不贊成的。不直接查詢音頻路由,使用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_DTMFDTMF音調的聲音。

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(音頻管理器)具體解釋