diff --git a/services/audio_policy/server/src/service/routers/audio_router_center.cpp b/services/audio_policy/server/src/service/routers/audio_router_center.cpp index 3e38bee371b85d90bfec3662c7e9d4594fd200f7..e623f23960fda7c9d0ce008bc2fd418c61d95573 100644 --- a/services/audio_policy/server/src/service/routers/audio_router_center.cpp +++ b/services/audio_policy/server/src/service/routers/audio_router_center.cpp @@ -59,14 +59,20 @@ bool AudioRouterCenter::HasScoDevice() { vector> descs = AudioDeviceManager::GetAudioDeviceManager().GetCommRenderPrivacyDevices(); - bool hasScoDevice = false; for (auto &desc : descs) { if (desc->deviceType_ == DEVICE_TYPE_BLUETOOTH_SCO) { - hasScoDevice = true; - break; + return true; } } - return hasScoDevice; + + vector> publicDescs = + AudioDeviceManager::GetAudioDeviceManager().GetCommRenderPublicDevices(); + for (auto &desc : publicDescs) { + if (desc->deviceType_ == DEVICE_TYPE_BLUETOOTH_SCO && desc->deviceCategory_ == BT_CAR) { + return true; + } + } + return false; } unique_ptr AudioRouterCenter::FetchOutputDevice(StreamUsage streamUsage, int32_t clientUID)