我想知道是否有办法检查音频在哪里播放(内置扬声器、耳机插孔、单声道、立体声等)和 Android 设备?
谢谢。
接受的答案将完全有效,但他们确实不赞成使用这些方法audioManager.getDevices()
。以下是如何使用新方法检查有线耳机的示例。
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager != null) {
for(AudioDeviceInfo deviceInfo : audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS)){
if(deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADPHONES
|| deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADSET){
return true;
}
}
}
现在请记住,getDevices()
它仅在 API 23+ 中可用,因此覆盖范围存在差距,如果您的 minSdk 低于 23,您可能需要使用已接受答案中显示的不推荐使用的方法。