如何检查是否将耳机或内置麦克风用于麦克风输入?

奥斯卡·范

我正在为一个专门目的的应用程序需要连接耳机麦克风。我不希望用户错误地使用手机的内置麦克风并且体验不合标准,因此理想情况下,该应用应强制使用3.5毫米耳机。

不幸的是,我无法在网上找到与此有关的任何信息,只有关于检查麦克风是否可用的帖子。我想检查在3.5毫米插孔中是否插入了耳机。

我可以看到至少一个存在此功能的应用程序。当我连接/断开耳机时,较小的AudioSwitch将显示我的输入是来自耳机还是内置麦克风。

我将如何在自己的应用程序中实现这一目标?

PerracoLabs

您可以使用ACTION_HEADSET_PLUG广播操作来检测何时插入有线耳机。

请注意,广播接收者必须手动注册,而不是在清单中注册:

 yourBroadcastHandler = new BroadcastHandler();
 registerReceiver(yourBroadcastHandler, new IntentFilter(Intent.ACTION_HEADSET_PLUG));

并为您的广播实现处理程序:

public final class BroadcastHandler extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        // Do what you need
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章