AudioManager 類位於 android.Media 包中,該類提供存取控制音量和鈐聲模式的操作
以下分別是AudioManager設定聲音模式和調整聲音大小的方法。
如何擷取聲音管理器:
| 代碼如下 |
複製代碼 |
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); |
裡面主要的方法:
A、設定聲音模式
| 代碼如下 |
複製代碼 |
//聲音模式 AudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); //靜音 AudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //震動模式 AudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE); |
B、調整聲音大小
| 代碼如下 |
複製代碼 |
//減少聲音音量 AudioManager.adjustVolume(AudioManager.ADJUST_LOWER, 0); //調大聲音音量 AudioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0); |
(當傳入的第一個參數為 AudioManager.ADJUST_LOWER 時,可將音量調小一個單位,傳入AudioManager.ADJUST_RAISE 時,則可以將音量調大一個單位。)
getMode()擷取音頻模式
getRingerMode()擷取鈴聲震動模式
AudioManager
public void setStreamMute (int streamType, boolean state)
靜音或不靜音音頻流。
靜音命令被保護以免用戶端進程死亡:若具有流上的活動靜音請求的進程死亡,這個流會自動取消靜音。
對於給定的流,靜音請求是累計的:AudioManager會從一個或多個用戶端接收數個靜音請求,只有當接收到相同數目的取消靜音請求時流才會取消靜音。
為了更好的使用者體驗,應該程式必須在onPause()中取消已靜音流,若合適在onResume()中再次靜音
這個方法只能用於代替音頻設定的平台範圍管理應用程式或主要電話應用程式。
參數
streamType 欲靜音/取消靜音的流。
state 請求靜音狀態:若為true,靜音;若為false,取消靜音。
這裡如果使用了和手機震動有關的模式,記得添加許可權。android.permission.VIBRATE哦!