天天看點

播放音頻聽筒外放切換

/**
 * 設定播放模式
 */
fun setAudioStreamType(speaker: Boolean) {
    initAudioManager()
    if (speaker) {
        audioManager!!.setSpeakerphoneOn(true)
        audioManager!!.setMode(AudioManager.MODE_NORMAL)
    } else {
        audioManager!!.setSpeakerphoneOn(false)//關閉揚聲器
        //5.0以上
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            audioManager!!.setMode(AudioManager.MODE_IN_COMMUNICATION
        } else {
            audioManager!!.setMode(AudioManager.MODE_IN_CALL)
        }
    }
}

private fun initAudioManager() {
    if (audioManager == null){
        audioManager = context().getSystemService(AUDIO_SERVICE) as AudioManager
    }
}      

切記需要權限    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />