Android:如何查看手机音频输出?

时间:2012-01-31 19:54:01

标签: android android-audiomanager

我想知道是否有办法检查音频的播放位置(内置扬声器,耳机插孔,单声道,立体声等)和Android设备?

感谢。

2 个答案:

答案 0 :(得分:3)

是的,使用AudioManager课程,您可以检查当前是否连接了有线或无线耳机。如果不是,那么您可以假设您发出的声音将由设备的扬声器播放。

这些方法将帮助您完成您想要做的事情:

希望这能回答你的问题!

答案 1 :(得分:0)

接受的答案将完全起作用,但是他们确实弃用了这些方法,而推荐使用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,则可能需要使用已接受答案中显示的不赞成使用的方法。