- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何检测我的设备是否插入了麦克风?另外,如果麦克风从设备中拔出,我如何收到通知?
我似乎无法在 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/
如何使用Delphi检查麦克风是否插入/拔出? 最佳答案 function WaveInDevicePresent: boolean; begin result := waveInGetNumDe
DirectShow 是否有一种简单的方法来检测网络摄像头是否已插入 (USB),或者是否有人拔掉了它(然后轮询或搜索它)? 我看过 Microsoft Media Foundation 的代码,但它
我有一个与我的 linux 盒子配对的蓝牙 Remote ,当激活时,这个 Remote 在 /dev/input/event13 可见。 我有一个小的 C 程序,可以打开这个设备并直接从中读取,运行
我正在使用官方 Kinect SDK 1.5 示例之一,我正在尝试了解如何添加检查以检测 Kinect 何时断开连接。目前,该应用程序只会卡住,因此必须有一种方法来防止这种情况发生。 这是来自 SDK
我需要检测嵌入式系统上的 USB 串行设备何时插入或拔出,并知道 tty 是什么与之相关。 我的系统运行在 2.6 Linux 内核上。 因为我没有 udev 的写入权限规则,现在我试图从文件系统
我是安卓新手。如果插入或拔出充电器,我想更改 Activity 中 TextView 的文本。为此,我已经在 list 中注册了一个带有 Intent 的接收器 android.intent.acti
我正在开发一个在线乐谱阅读训练器,a prototype is available here .我能够实现对以前连接的 MIDI 键盘的访问,但是,我正在努力实现热插拔方案。 我最后一次拍摄是这样的:
我的最终目标是创建一个在启动时运行的脚本,该脚本在插入以太网电缆时关闭 wifi,反之亦然。这是我到目前为止创建的脚本: #!/bin/bash File=/sys/class/net/eth0/ca
我是一名优秀的程序员,十分优秀!