获取连接音频设备列表的android api是什么?
作者:互联网
我使用下面添加的代码来获取Android设备的连接音频设备.使用了AudioManager api方法getDevices(),并通过耳机,扬声器,耳机等连接设备获得了结果.但是这个getDevices()方法仅在android api level 23(Marshmallow)之后可用.
但是我的应用程序应该支持api level 21(Lollipop).请任何人都可以告诉我替代api获取Android设备的可用音频设备.
与api级别23一起使用的代码.
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
AudioDeviceInfo[] adi = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
}
请帮助我为Marshmallow(api level 23)下的Android OS版本运行的设备提供连接的音频设备.
解决方法:
似乎在API级别23之前没有这样的API,但是如果某个音频设备打开,可以使用布尔方法来检查:
> isWiredHeadsetOn() – 在API级别5中添加,在API级别14中已弃用
> isSpeakerphoneOn() – 在API级别1中添加
> isBluetoothScoOn() – 在API级别1中添加
> isBluetoothA2dpOn() – 在API级别3中添加,在API级别26中弃用
如果在向AndroidManifest.xml添加MODIFY_AUDIO_SETTINGS权限时总是出错
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
检查后,您可以通过将true或false传递给方法来打开或关闭设备:
> setWiredHeadsetOn() – 在API级别5中添加,在API级别5中已弃用
> setSpeakerphoneOn() – 在API级别1中添加
> setBluetoothScoOn() – 在API级别1中添加
> setBluetoothA2dpOn() – 在API级别3中添加,在API级别5中已弃用
标签:android-audiomanager,android-hardware,android,android-5-0-lollipop,android-api-l 来源: https://codeday.me/bug/20191005/1856480.html