diff --git a/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp b/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp index 3be0c3ae6d2d739d5b14778da5862d22874f56dc..faef02edc78413cc7f7220e0f7204d9c72776617 100644 --- a/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp +++ b/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp @@ -1125,13 +1125,14 @@ int32_t AudioInterruptService::ReleaseAudioInterruptZone(const int32_t zoneId, G int32_t AudioInterruptService::MigrateAudioInterruptZone(const int32_t zoneId, GetZoneIdFunc func) { std::unique_lock lock(mutex_); - int32_t ret = zoneManager_.MigrateAudioInterruptZone(zoneId, func); + int32_t destZoneId = zoneId; + int32_t ret = zoneManager_.MigrateAudioInterruptZone(zoneId, destZoneId, func); if (ret != SUCCESS) { return ret; } - AudioScene targetAudioScene = GetHighestPriorityAudioScene(zoneId); + AudioScene targetAudioScene = GetHighestPriorityAudioScene(ZONEID_DEFAULT); lock.unlock(); - UpdateAudioSceneFromInterrupt(targetAudioScene, ACTIVATE_AUDIO_INTERRUPT, zoneId); + UpdateAudioSceneFromInterrupt(targetAudioScene, ACTIVATE_AUDIO_INTERRUPT, destZoneId); return SUCCESS; }