仿微信实现听筒和扬声器切换功能(Android)

16

仿微信实现听筒和扬声器切换功能(Android)

object PlayerModeManager {

enum class PlayMode {

Speaker,//外放 Headset,//耳机 Receiver//听筒 }

private lateinit var audioManager: AudioManager // 设置静音 fun setMute(isMute: Boolean) {

audioManager.isMicrophoneMute = isMute }

// 切换扬声器和听筒模式 fun switchPlayMode(playMode: PlayMode) {

when (playMode) {

PlayMode.Speaker -> {

audioManager.isSpeakerphoneOn = true // 打开扬声器 audioManager.isWiredHeadsetOn = false // 关闭耳机 }

PlayMode.Headset -> {

audioManager.isSpeakerphoneOn = false // 关闭扬声器 audioManager.isWiredHeadsetOn = true // 打开耳机 }

PlayMode.Receiver -> {

audioManager.isSpeakerphoneOn = false // 关闭扬声器 audioManager.isWiredHeadsetOn = false // 关闭耳机 }

}

}

// 获取当前声音模式 fun getCurrentPlayMode(): PlayMode {

return when {

audioManager.isWiredHeadsetOn -> PlayMode.Headset audioManager.isSpeakerphoneOn -> PlayMode.Speaker else -> PlayMode.Receiver }

}

}

// 在使用的Activity或Fragment中调用class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

// 初始化PlayerModeManager PlayerModeManager.init(audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager)

// 初始化按钮点击事件 findViewById

上一篇 微信公众平台接口程序语音天气

下一篇 uni-app 微信同声传译,实现AI语音功能(语音转文字,文字转语音,英汉互译