RK系列SDK -- 多路设备同时输出声音(Android)

说明:本文只针对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);

你可能感兴趣的:(RockChip,音频,Android)