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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章