V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cuixiao603
V2EX  ›  macOS

mac 如何实现连接某 wifi 后自动静音

  •  
  •   cuixiao603 · 87 天前 · 1404 次点击
    这是一个创建于 87 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想实现连接公司 wifi 自动静音,有没有什么方案呀

    15 条回复    2021-09-23 22:14:58 +08:00
    sue0917
        1
    sue0917  
       87 天前
    iphone 不是有捷径吗,mac 没有吗
    cnscud
        2
    cnscud  
       87 天前   ❤️ 2
    /etc/ppp/ip-up


    #!/bin/sh

    case "$5" in
    192.199.1.100)
    osascript -e "set volume 0"
    ;;
    172.16.0.11)
    /sbin/route add -net 192.168.253 -interface $1
    ;;
    *)
    esac
    cuixiao603
        3
    cuixiao603  
    OP
       87 天前
    @cnscud #2 新建一个 ip-up 把脚本放进去好像没用呀
    #!/bin/sh

    case "$5" in
    192.168.137.35)
    osascript -e "set volume 0"
    ;;
    *)
    esac
    mansurx
        4
    mansurx  
       87 天前
    @sue0917 #1 MacOS 12 才有捷径,还没发正式版
    altchen
        5
    altchen  
       87 天前   ❤️ 1
    cnscud
        6
    cnscud  
       87 天前
    里面的 IP 是你的网络的网关地址
    cnscud
        7
    cnscud  
       87 天前
    @cuixiao603 里面的 IP 是你的网络的网关地址, 不确定的话, 你可以打印 $5 出来看看
    xaoflysho
        8
    xaoflysho  
       87 天前
    @mansurx 可惜有捷径也没有自动化
    cuixiao603
        9
    cuixiao603  
    OP
       87 天前
    @cnscud #7 感觉是 连接 wifi 时候 脚本没有被调用
    minamike
        10
    minamike  
       87 天前   ❤️ 1
    用 launchctl 每几秒运行一下检查 ip 地址然后静音的脚本
    https://www.jifu.io/posts/2733308530/
    xem
        11
    xem  
       87 天前   ❤️ 1
    据说 hammerspoon 可以解决你这个需求,我没实现过,你可以研究一下
    wg5945
        12
    wg5945  
       87 天前   ❤️ 1
    https://github.com/eprev/locationchanger

    然后静音的命令是 osascript -e "set volume output muted 1"

    连接其他 wifi 的话 osascript -e "set volume output muted 0" 关闭静音
    willis
        13
    willis  
       86 天前
    hammerspoon 才是正解
    mMartin
        14
    mMartin  
       86 天前
    hammerspoon 正解 我实现过连接某个 WiFi 自动连接 smb
    cuixiao603
        15
    cuixiao603  
    OP
       76 天前
    通过 hammerspoon 实现了代码如下:
    function ssidChangedCallback()
    ssid = hs.wifi.currentNetwork()
    if (ssid == "yyyyyyy" or ssid == "xxxxxxxx") then
    hs.audiodevice.defaultOutputDevice():setVolume(0)
    end
    end


    wifiWatcher = hs.wifi.watcher.new(ssidChangedCallback)
    wifiWatcher:start()
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3769 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:30 · PVG 16:30 · LAX 00:30 · JFK 03:30
    ♥ Do have faith in what you're doing.