
想实现连接公司 wifi 自动静音,有没有什么方案呀
1 sue0917 2021-09-13 09:49:08 +08:00 iphone 不是有捷径吗,mac 没有吗 |
2 cnscud 2021-09-13 09:56:40 +08:00 /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 |
3 JaminT OP @cnscud #2 新建一个 ip-up 把脚本放进去好像没用呀 #!/bin/sh case "$5" in 192.168.137.35) osascript -e "set volume 0" ;; *) esac |
5 altchen 2021-09-13 10:42:36 +08:00 |
6 cnscud 2021-09-13 10:49:50 +08:00 里面的 IP 是你的网络的网关地址 |
10 minamike 2021-09-13 11:01:28 +08:00 用 launchctl 每几秒运行一下检查 ip 地址然后静音的脚本 https://www.jifu.io/posts/2733308530/ |
11 xem 2021-09-13 15:46:54 +08:00 据说 hammerspoon 可以解决你这个需求,我没实现过,你可以研究一下 |
12 wg5945 2021-09-13 16:12:50 +08:00 https://github.com/eprev/locationchanger 然后静音的命令是 osascript -e "set volume output muted 1" 连接其他 wifi 的话 osascript -e "set volume output muted 0" 关闭静音 |
13 willis 2021-09-13 16:56:09 +08:00 hammerspoon 才是正解 |
14 mMartin 2021-09-14 14:01:29 +08:00 hammerspoon 正解 我实现过连接某个 WiFi 自连接 smb |
15 JaminT OP 通过 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() |