@@ -868,11 +868,9 @@ void Manager::OnConversationalAwarenessChanged(bool enable)
868868void Manager::OnConversationalAwarenessVolumePercentChanged (uint8_t percent)
869869{
870870 std::lock_guard<std::mutex> lock{_mutex};
871- // Clamp the value to valid range (1-100)
872- if (percent < 1 ) percent = 1 ;
873- if (percent > 100 ) percent = 100 ;
874- _conversationalAwarenessVolumePercent = percent;
875- LOG (Info, " Conversational awareness volume percent changed to {}%" , percent);
871+ // Clamp the value to valid range (10-100) matching UI slider constraints
872+ _conversationalAwarenessVolumePercent = std::clamp (percent, uint8_t {10 }, uint8_t {100 });
873+ LOG (Info, " Conversational awareness volume percent changed to {}%" , _conversationalAwarenessVolumePercent);
876874}
877875
878876void Manager::OnPersonalizedVolumeChanged (bool enable)
@@ -978,8 +976,9 @@ void Manager::OnHeadTrackingData(AAP::HeadTrackingData data)
978976}
979977
980978// Volume levels for conversational awareness
981- // kFullVolumePercent is used to restore to the original volume (before speaking)
982- constexpr int kFullVolumePercent = 100 ; // Normal volume when not speaking
979+ // kFullVolumePercent (100) signals to GlobalMedia::SetVolume to restore the saved pre-speaking volume
980+ // The actual restoration logic is in GlobalMedia_win.cpp which restores to the saved volume, not literally 100%
981+ constexpr int kFullVolumePercent = 100 ; // Signal value to restore to original volume
983982
984983void Manager::OnSpeakingLevelChanged (AAP::SpeakingLevel level)
985984{
0 commit comments