gpt4 book ai didi

android - 如何在android中检测插入和拔出麦克风

转载 作者:行者123 更新时间:2023-11-30 00:05:39 26 4
gpt4 key购买 nike

如何检测我的设备是否插入了麦克风?另外,如果麦克风从设备中拔出,我如何收到通知?

我似乎无法在 android 文档中看到有关如何执行此操作的信息,在我的谷歌搜索中也没有。

谢谢!

最佳答案

你可以创建一个BroadcastReceiver来监听Intent.ACTION_HEADSET_PLUG,如果min sdk为21,建议使用其他常量AudioManager.ACTION_HEADSET_PLUG

当您注册接收器时,您将收到一个“粘性”Intent,然后在插入/拔出麦克风时收到其他消息。 BroadcastReceiver 非常简单,找不到“state”和“microphone”键的文档,只是在调试器中看到了它们。所以类可能看起来像:

class MicrophonePluggedInReceiver : BroadcastReceiver() {

override fun onReceive(context: Context, intent: Intent) {
if (intent.action == Intent.ACTION_HEADSET_PLUG) {
val state = intent.getIntExtra("state", 0)
val microphone = intent.getIntExtra("microphone", 0)
val isMicrophonePluggedIn = state == 1 && microphone == 1
Toast.makeText(context, "microphone plugged in $isMicrophonePluggedIn", Toast.LENGTH_LONG).show()
}
}
}

然后你只需要注册(和取消注册)

val microphonePluggedReceiver = MicrophonePluggedInReceiver()

// ...

context.registerReceiver(microphonePluggedReceiver, IntentFilter(Intent.ACTION_HEADSET_PLUG))

// ...

unregisterReceiver(microphonePluggedReceiver)

关于android - 如何在android中检测插入和拔出麦克风,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49076246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com