赞
踩
有个需求是APP端能够获取所有音频输出列表,研究了很长时间源码,发现只有这个API合适。
AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
这个API能够获取到设备上所有可用的输出,且APP可以调用。
需要在framework层修改,找一个Manager或者自己写一个Manager,添加以下API方法。
- @Override
- public void setPreferredDevice(int type) {
- AudioDeviceInfo device = null;
- AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
- AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
- for(AudioDeviceInfo dev : devices) {
- if(dev.getType() == type && type != 0){
- device = dev;
- break;
- }
- }
- if (device == null) {
- Log.i(TAG, "Skip se
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。