dawee2y
V2EX  ›  macOS

mac 系统无法记住 AirPods 音量

  •  
  •   dawee2y · Jan 26, 2024 · 6845 views
    This topic created in 1017 days ago, the information mentioned may be changed or developed.

    macos 14 airPods pro 二代

    耳机连接 mac ,就默认把音量调到了一半处,手动调小之后,如果断开一会再连接,音量又是在一半位置,有什么办法可以永久记住上次的音量吗?

    31 replies  •  2026-06-18 00:49:31 +08:00
    CiaoJeff
    CiaoJeff
    Jan 26, 2024
    1
    应该是系统 bug ,我有时候偶尔能记住,大多数都被重置了
    Rin7
    Rin7
    Jan 26, 2024
    2
    这 bug 从 Sonoma 正式发布到现在一直存在。
    erzhuyijian123
    erzhuyijian123
    Jan 26, 2024
    3
    bug, 困扰很久了
    Yzzm
    Yzzm
    Jan 26, 2024
    4
    原来是 bug 啊,我就说每次都要重新设置音量
    kneep
    kneep
    Jan 26, 2024
    5
    Sonoma 引入的 bug
    QuantumRose9
    QuantumRose9
    Jan 26, 2024
    6
    目前用 Hammerspoon ,设置成连接耳机自动调整音量,断开耳机再次切换音量。Mac 还可以用 shortery+快捷指令实现。iOS 单独用快捷指令就可以。
    Rin7
    Rin7
    Jan 26, 2024
    7
    @QuantumRose9 可以分享下配置代码吗
    QuantumRose9
    QuantumRose9
    Jan 26, 2024❤️1
    8
    @Rin7 可以:
    local lastOutputDeviceName = hs.audiodevice.defaultOutputDevice():name()

    local function handleDeviceChanges()
    local currentOutputDeviceName = hs.audiodevice.defaultOutputDevice():name()

    if lastOutputDeviceName ~= currentOutputDeviceName then
    hs.audiodevice.defaultOutputDevice():setVolume(0)
    hs.alert.show("音量已设为 0")

    -- 如果拔下的设备是有线耳机,则暂停音乐
    if lastOutputDeviceName == "外置耳机" then -- 替换为你的耳机名称
    hs.spotify.pause() -- 暂停 Spotify 音乐
    -- hs.itunes.pause() -- 如果你使用 iTunes ,取消这行的注释
    end
    end

    lastOutputDeviceName = currentOutputDeviceName
    end

    hs.audiodevice.watcher.setCallback(handleDeviceChanges)
    hs.audiodevice.watcher.start()
    Rin7
    Rin7
    Jan 26, 2024
    9
    @QuantumRose9 感谢
    seres
    seres
    Jan 26, 2024
    10
    Sonoma “新特性”
    我还碰到升级 ventura 后无法反向充电
    fuwenpei
    fuwenpei
    Jan 26, 2024
    11
    我的 bug 会把音量设置为最大。。。
    lee289
    lee289
    Jan 26, 2024
    12
    库克是👂🐲吗,每次进去都是一半音量
    zhouxuchen
    zhouxuchen
    Jan 26, 2024
    13
    我这不只是重连的时候会聋,有时候用久了调整一下音量都给我跳到一半处
    dangotown
    dangotown
    Jan 27, 2024
    14
    AirPlay 音量调节也有 bug
    ZztGqk
    ZztGqk
    Jan 27, 2024 via iPhone
    15
    windows 记得都比他好
    EricYuan1
    EricYuan1
    Feb 20, 2024
    16
    @lee289 哈哈哈,原来不是我一个人。。。
    yulii
    yulii
    May 14, 2024
    17
    我也是。Sonoma 14.4.1 还是没修复这个 BUG 。only apple can do
    washu
    washu
    Jul 2, 2024
    18
    更新到了 Sonoma 14.5 后这个 BUG 依旧存在。耳朵都快被震聋了
    QuincySx
    QuincySx
    Sep 10, 2024
    19
    我忍了一年多了,原来是个 BUG ,我擦。
    Linioi
    Linioi
    Sep 26, 2024
    20
    macOS 15 也还是有这个问题,真无语……
    wh2724
    wh2724
    Oct 31, 2024
    21
    macOS 15.0.1 仍有这个问题,依旧没修复
    littlewing
    littlewing
    Dec 3, 2024
    22
    15.1.1 仍然有这个问题
    clevo
    clevo
    Dec 29, 2024
    23
    尼玛的果然是 bug 最新依旧
    mais0n
    mais0n
    Jan 6, 2025❤️6
    24
    真的被这个 Bug 折磨,用 Hammerspoon 加改了一下上面那个兄弟的代码,完美解决了我的问题。

    -- 存储上一次默认音频输出设备的名称
    local lastOutputDeviceName = hs.audiodevice.defaultOutputDevice():name()

    -- 处理设备变更的回调函数
    local function handleDeviceChanges()
    -- 获取当前默认音频输出设备的名称
    local currentOutputDeviceName = hs.audiodevice.defaultOutputDevice():name()
    -- 判断设备名称是否发生了变化
    if lastOutputDeviceName ~= currentOutputDeviceName then
    -- 判断当前设备是否为蓝牙耳机
    if string.find(currentOutputDeviceName, "AirPods") then
    -- 连接蓝牙耳机时将音量设置为 20
    hs.audiodevice.defaultOutputDevice():setVolume(20)
    hs.alert.show("音量已设为 20")
    -- 判断上一个设备是否为蓝牙耳机
    elseif string.find(lastOutputDeviceName, "AirPods") then
    -- 断开蓝牙耳机时将音量设置为 0
    hs.audiodevice.defaultOutputDevice():setVolume(0)
    hs.alert.show("音量已设为 0")
    end
    end
    -- 更新 lastOutputDeviceName 为当前设备名称
    lastOutputDeviceName = currentOutputDeviceName
    end

    -- 为音频设备变动设置回调函数
    hs.audiodevice.watcher.setCallback(handleDeviceChanges)
    -- 启动音频设备监听器
    hs.audiodevice.watcher.start()
    yulii
    yulii
    Jan 10, 2025❤️1
    25
    感谢#24 楼的方法。终究解决这个问题了。

    发布会上还提听力健康,损害听力健康的 BUG 反而 1 年多没去修。 真的是 only apple can do
    Wenfang
    Wenfang
    Jan 22, 2025
    26
    补充 #24 ,用下面的 hammerspoon 配置可以用快捷键提示当前的音量

    ```lua
    -- Function to print the current volume
    function printCurrentVolume()
    local volume = hs.audiodevice.defaultOutputDevice():volume()
    hs.alert.show("Current volume: " .. volume)
    end

    -- Bind the function to a hotkey, for example, Ctrl + Alt + V
    hs.hotkey.bind({"ctrl", "alt"}, "V", printCurrentVolume)
    ```
    LCOOOOD
    LCOOOOD
    Mar 14, 2025
    27
    @ephemeron 妈的 这个回复应该在苹果 newsroom 全球循环置顶六个月
    summerain4ever
    summerain4ever
    May 21, 2025
    28
    mac 15.3.2 (24D81) 依旧存在这个问题
    Jeff5317
    Jeff5317
    May 22, 2025
    29
    我使用的是 MacOS 15.5 ,问题仍然存在。我尝试了一种暂时有效的方法(在 iPhone 和 Mac 之间切换 AirPods 时音量保持不变),但不知道在什么情况下会失效。

    不要看菜单栏里的 AirPods 音量,直接进入系统设置调整 AirPods 的输出音量。调整后,重新连接时音量会固定,但菜单栏里的音量可能还是 50%,忽略它,实际音量仍然是之前设置的大小。
    caffeinecat18
    30
    已经 2026 年 macOS27 了,没救了
    caffeinecat18
    31
    可以尝试一下 soundsource ,支持设定 max volume ,超过了会自动限制,license 淘宝上面有很便宜的可以买
    blob:https://www.reddit.com/e9ed6d42-52e0-4b4e-b456-0e06ecd18a2a
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1594 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 13:55 · PVG 21:55 · LAX 05:55 · JFK 08:55
    ♥ Do have faith in what you're doing.