說明:本文只針對RK安卓系列SDK,需要多個輸出設備同時工作都可以參考此修改處理,但不能保證所有場景都適用。
藍牙和喇叭同時輸出聲音
//Android 7.1
frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
frameworks/av/services/audiopolicy$ git diff
diff --git a/services/audiopolicy/enginedefault/src/Engine.cpp b/services/audiopolicy/enginedefault/src/Engine.cpp
index 58e198a..bdd18b2 100755
--- a/services/audiopolicy/enginedefault/src/Engine.cpp
+++ b/services/audiopolicy/enginedefault/src/Engine.cpp
@@ -594,6 +594,15 @@ audio_devices_t Engine::getDeviceForStrategyInt(routing_strategy strategy,
default:
ALOGW("getDeviceForStrategy() unknown strategy: %d", strategy);
break;
}
+ if ((device & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP)
+ || (device & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES)
+ || (device & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER)) {
+ device |= AUDIO_DEVICE_OUT_SPEAKER;
+ ALOGV("Bluetooth and speakers work together , device %x", device);
+ }
if (device == AUDIO_DEVICE_NONE) {
ALOGV("getDeviceForStrategy() no device found for strategy %d", strategy);