我想知道在Android设备上有没有一种方法可以检查音频输出的位置(内置扬声器、耳机插孔、单声道、立体声等)?
谢谢。
我想知道在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,则可能需要使用已弃用的方法,这些方法在接受的答案中显示。