From 30662729037e764f7b37c7a98158c171a3d6a3e8 Mon Sep 17 00:00:00 2001 From: darkshadow Date: Fri, 12 Sep 2025 14:23:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dreleaseaudiointerruptzone?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: darkshadow --- .../server/domain/interrupt/src/audio_interrupt_zone.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/services/audio_policy/server/domain/interrupt/src/audio_interrupt_zone.cpp b/services/audio_policy/server/domain/interrupt/src/audio_interrupt_zone.cpp index 56fb7d0bb7..c6863d082b 100644 --- a/services/audio_policy/server/domain/interrupt/src/audio_interrupt_zone.cpp +++ b/services/audio_policy/server/domain/interrupt/src/audio_interrupt_zone.cpp @@ -105,17 +105,16 @@ int32_t AudioInterruptZoneManager::ReleaseAudioInterruptZone(const int32_t zoneI bool updateScene = false; auto &releaseZone = tempMap[zoneId]; - CHECK_AND_RETURN_RET_LOG(releaseZone->context.backStrategy_ != MediaBackStrategy::KEEP, - SUCCESS, "zone %{public}d does not need to be stopped", zoneId); for (auto it = releaseZone->audioFocusInfoList.begin(); it != releaseZone->audioFocusInfoList.end(); it++) { - if ((it->second != ACTIVE && it->second != DUCK) || + if (((it->second != ACTIVE && it->second != DUCK) || (it->first.streamUsage == STREAM_USAGE_UNKNOWN || it->first.streamUsage == STREAM_USAGE_MEDIA || - it->first.streamUsage == STREAM_USAGE_MOVIE)) { + it->first.streamUsage == STREAM_USAGE_MOVIE)) && + releaseZone->context.backStrategy_ == MediaBackStrategy::STOP) { ForceStopAudioFocusInZone(zoneId, it->first); } else { int32_t destZoneId = func(it->first.uid, it->first.deviceTag, "", it->first.streamUsage); - service_->ActivateAudioInterruptInternal(zoneId, it->first, false, updateScene); + service_->ActivateAudioInterruptInternal(destZoneId, it->first, false, updateScene); } } -- Gitee