權限:<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
import android.app.Activity;import android.content.Context;import android.media.AudioManager;/** * 系統聲音模式設置工具類 * * @author linzhiyong * @time 2017年1月9日15:30:47 * @email [email protected] * @desc */public class AudioManagerUtil { PRivate Context context; private AudioManager audioManager; public AudioManagerUtil(Context context) { this.context = context; this.audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); } /** * 設置是否使用揚聲器 * @param on */ public void setSpeakerphoneOn(boolean on) { if (on) { if (this.audioManager.isSpeakerphoneOn()) { return; } this.audioManager.setSpeakerphoneOn(true); } else { this.audioManager.setSpeakerphoneOn(false);//關閉揚聲器 this.audioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL); ((Activity) context).setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); //把聲音設定成Earpiece(聽筒)出來,設定為正在通話中 this.audioManager.setMode(AudioManager.MODE_IN_CALL); } } /** * 是否是揚聲器模式 * @return */ public boolean isSpeakerphoneOn() { return this.audioManager.isSpeakerphoneOn(); } /** * 設置靜音 true: 靜音 false: 正常 * @param on */ public void setSilentOn(boolean on) { if (on) { if (this.audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) { return; } this.audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); } else { this.audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);// this.audioManager.setStreamVolume(AudioManager.RINGER_MODE_NORMAL, ringerVolume, 0); } } /** * 是否是靜音模式 * @return */ public boolean isSlientOn() { return this.audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT || this.audioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE; }}
新聞熱點
疑難解答