提问者:小点点

检测并区分android中不同类型的音频设备


在android中是否有区分不同类型的音频设备?例如,我从不同的制造商获得了音频设备类型A和音频设备类型B,这两种设备都使用音频插孔。每当用户插入音频设备类型A或类型B时,我想知道设备ID或名称、类型。我可以使用BroadcastRecencer检测音频设备的插入/输出。但无法获取设备ID或名称或类型。场景是:当音频设备类型A连接时,开启服务A,当音频设备类型B连接时,开启服务B。


共1个答案

匿名用户

不,不幸的是,这是不可能的。音频插孔是一种纯粹的模拟标准,它只是不提供任何识别设备的方法。唯一可以识别的是它是耳机(无麦克风),耳机(带麦克风)还是线路输入(具有比耳机更高的输入阻抗)。后一种区别实际上并没有传达给应用程序,它只会影响Android如何进行音频路由和应用音量设置。

对于USB和蓝牙设备,有关设备制造商和ID的信息是可用的,因此可以区分它们,但您需要使用比广播接收器更低级别的API。看见https://developer.android.com/guide/topics/connectivity/usb/host.html和https://developer.android.com/guide/topics/connectivity/bluetooth.html.