AudioManger的使用筆記

獲取AudioManager實例:

AudioManager audiomanage = (AudioManager)getAcitivity().getSystemService(Context.AUDIO_SERVICE);? //audiomanager就是我們定義的控制系統(tǒng)聲音的對象

常用方法:

adjustVolume(int direction, int flags)

用來控制手機音量大小,

當傳入的第一個參數(shù)為AudioManager.ADJUST_LOWER 時,可將音量調(diào)小一個單位,

傳入AudioManager.ADJUST_RAISE時,則可以將音量調(diào)大一個單位。

adjustStreamVolume(int streamType, int direction, intflags)

(以步長)調(diào)節(jié)手機音量大小

參數(shù)1:聲音類型,可取為STREAM_VOICE_CALL(通話)、STREAM_SYSTEM(系統(tǒng)聲音)、STREAM_RING(鈴聲)、STREAM_MUSIC(音樂)、STREAM_ALARM(鬧鈴聲)

參數(shù)2:調(diào)整音量的方向,可取ADJUST_LOWER(降低)、ADJUST_RAISE(升高)、ADJUST_SAME

參數(shù)3:可選的標志位

setStreamVolume(int streamType, int index, intflags)

直接設(shè)置音量大小

getMode()

返回當前音頻模式,如 NORMAL(普通), RINGTONE(鈴聲), orIN_CALL(通話)

setMode()

設(shè)置聲音模式,可取值NORMAL(普通), RINGTONE(鈴聲), or IN_CALL(通話)

getRingerMode()

返回當前的鈴聲模式。如RINGER_MODE_NORMAL(普通)、RINGER_MODE_SILENT(靜音)、RINGER_MODE_VIBRATE(震動)

setRingerMode(int ringerMode)

改變鈴聲模式

getStreamVolume(int streamType)

取得當前手機的音量,最大值為7,最小值為0,當為0時,手機自動將模式調(diào)整為“震動模式”。

getStreamMaxVolume(int streamType)

獲得當前手機最大鈴聲。

setStreamMute(int streamType, boolean state)

靜音或不靜音音頻流

設(shè)置指定聲音類型(streamType)是否為靜音。如果state為true,則設(shè)置為靜音;否則,不設(shè)置為靜音。

isWiredHeadsetOn( )

檢測耳機是否插入。如果插入了耳機,就返回true,否則false; 當然,要加個權(quán)限,不然一直是返回false。 uses-permission android:name= android.permission.MODIFY_AUDIO_SETTINGS / 實時檢測耳機插入和拔出: 每當插入和拔出耳機時,系統(tǒng)都會發(fā)送Intent 廣播,這個由看手機打出的Log 得知。 所以,只需要用一個 receiver 把這個廣播 intent (獲取的 action 是:“android.intent.action.HEADSET_PLUG”)截獲就好。

getLastAudibleStreamVolume( )

獲取靜音前的最后音量。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 場景:當聽音樂并且在刷朋友圈或者微博的時候,我們想點擊一個視頻看,此時音樂會暫停只保留視頻播放,然后退出視頻后音樂...
    whstywh閱讀 15,889評論 3 13
  • AudioManager即音頻管理器,用于管理android系統(tǒng)各種音頻類型(包括系統(tǒng)聲音,通話,鈴聲,音樂,鬧鈴...
    VigoLin閱讀 3,998評論 0 2
  • 在 Activity 獲取字符串資源: this.getString(R.string.hello) 從 Cont...
    allencaicai閱讀 965評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • AudioManager是Android系統(tǒng)級服務(wù),通過AudioManager可以管理響鈴,通知,鬧鐘,音樂,通...
    lsxiao閱讀 7,188評論 2 51