diff --git a/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp b/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp index ed91ed14e95f0aa9c7441e6d3880831cae54da2e..bf3a5dd5460eb5f5790c2215593e23d44d367dab 100644 --- a/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp +++ b/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp @@ -3048,6 +3048,10 @@ float AudioAdapterManager::CalculateVolumeDbNonlinear(AudioStreamType streamType AUDIO_INFO_LOG("Min volume index not zero, use min db: %{public}0.1f", volumePoints[0].dbValue / 100.0f); return exp((volumePoints[0].dbValue / 100.0f) * 0.115129f); } + if (volumePoints[0].dbValue == 0) { + AUDIO_INFO_LOG("volumePoints[0]dbValue == 0, return 1.0f"); + return 1.0f; + } AUDIO_DEBUG_LOG("position = 0, return 0.0"); return 0.0f; } else if (position >= static_cast(pointSize)) {