From ff3bdde7d336c5ab8abfb46d8150cb47626bfd7d Mon Sep 17 00:00:00 2001 From: Hariharan Mudaliar Date: Thu, 4 Dec 2025 20:06:04 +0530 Subject: [PATCH] Volume control now mutes completely --- DynamicIsland/managers/SystemMediaControllers.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/DynamicIsland/managers/SystemMediaControllers.swift b/DynamicIsland/managers/SystemMediaControllers.swift index fe43156..562907e 100644 --- a/DynamicIsland/managers/SystemMediaControllers.swift +++ b/DynamicIsland/managers/SystemMediaControllers.swift @@ -52,6 +52,7 @@ final class SystemVolumeController { private var listenersInstalled = false private var volumeElement: AudioObjectPropertyElement? private var muteElement: AudioObjectPropertyElement? + private let silenceThreshold: Float = 0.001 // Treat very low values as mute requests. private let candidateElements: [AudioObjectPropertyElement] = [ kAudioObjectPropertyElementMain, @@ -101,7 +102,13 @@ final class SystemVolumeController { func setVolume(_ value: Float) { let clamped = max(0, min(1, value)) - if isMuted && clamped > 0 { + let currentlyMuted = isMuted + + if clamped <= silenceThreshold { + if !currentlyMuted { + setMuted(true) + } + } else if currentlyMuted { setMuted(false) }