5.1 以前应该是在 hardware/libhardware_legacy/audio/AudioPolicyManagerBase.cpp


5.1 的时候

Android5.1/frameworks/av/services/audiopolicy/


比如调节 USB 和 HEADPHONE,甚至 HDMI 的声音输出顺序。


这个要根据 stream type 来选不同的 device ..在优先级别方面调整其顺序就行了。

如 在没有强制设置成某device 的情况下,headphone 的优先级最高: headphone > usb sound card

--- a/frameworks/av/services/audiopolicy/AudioPolicyManager.cpp
+++ b/frameworks/av/services/audiopolicy/AudioPolicyManager.cpp
@@ -4725,12 +4725,13 @@ audio_devices_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strate
                 device = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES;
                 if (device) break;
             }
+            //edit Wade usb > headphone when call
+            device = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_USB_DEVICE;
+            if (device) break;
             device = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_WIRED_HEADPHONE;
             if (device) break;
             device = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_WIRED_HEADSET;
             if (device) break;
-            device = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_USB_DEVICE;
-            if (device) break;
             if (mPhoneState != AUDIO_MODE_IN_CALL) {
                 device = availableOutputDeviceTypes & AUDIO_DEVICE_OUT_USB_ACCESSORY;
                 if (device) break;


以上的调整为USB 的优先级高于耳机: usb sound card > headphone


在某些特殊的场景,可能会用到。

更多相关文章

  1. 调整android输出分辨率,适配更大分辨率的屏
  2. Android(安卓)Service两种启动启动方式
  3. Android的进程优先级
  4. Android(安卓)Activity生命周期举例说明(图文)
  5. Android(安卓)init.rc执行顺序
  6. Android(安卓)activity onNewIntent触发时机
  7. BroadcastReceiver与自定义权限
  8. android:priority
  9. Android(安卓)各种Loading 炫酷View

随机推荐

  1. ViewGroups
  2. Android(安卓)进程和线程(二)
  3. android 加载图片
  4. android之style样式-EditText样式
  5. 最全的android模拟器使用--ADB命令的介绍和
  6. Android官方命令深入分析之Device Monito
  7. android 加载大图长图失真或者不显示。
  8. Android运行main方法后java虚拟机停止运
  9. Android 实现跑马灯效果
  10. Android Button Selector