安卓手机:如何检查手机音频输出?

4

我想知道在Android设备上有没有一种方法可以检查音频输出的位置(内置扬声器、耳机插孔、单声道、立体声等)?

谢谢。

2个回答

3

1
你比我快了2秒。回答很好。 - Chris Cashwell

1
已接受的答案完全可行,但它们已经弃用了那些方法,转而使用 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,则可能需要使用已弃用的方法,这些方法在接受的答案中显示。


1
我获取到可用设备了,但是如何知道哪一个正在播放? - MrSano43

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接