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

2021-09-13 09:40:40 +08:00
 cuixiao603

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

2581 次点击
所在节点    macOS
15 条回复
sue0917
2021-09-13 09:49:08 +08:00
iphone 不是有捷径吗,mac 没有吗
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
cuixiao603
2021-09-13 10:17:40 +08:00
@cnscud #2 新建一个 ip-up 把脚本放进去好像没用呀
#!/bin/sh

case "$5" in
192.168.137.35)
osascript -e "set volume 0"
;;
*)
esac
mansurx
2021-09-13 10:29:49 +08:00
@sue0917 #1 MacOS 12 才有捷径,还没发正式版
altchen
2021-09-13 10:42:36 +08:00
cnscud
2021-09-13 10:49:50 +08:00
里面的 IP 是你的网络的网关地址
cnscud
2021-09-13 10:51:15 +08:00
@cuixiao603 里面的 IP 是你的网络的网关地址, 不确定的话, 你可以打印 $5 出来看看
xaoflysho
2021-09-13 10:56:13 +08:00
@mansurx 可惜有捷径也没有自动化
cuixiao603
2021-09-13 10:56:14 +08:00
@cnscud #7 感觉是 连接 wifi 时候 脚本没有被调用
minamike
2021-09-13 11:01:28 +08:00
用 launchctl 每几秒运行一下检查 ip 地址然后静音的脚本
https://www.jifu.io/posts/2733308530/
xem
2021-09-13 15:46:54 +08:00
据说 hammerspoon 可以解决你这个需求,我没实现过,你可以研究一下
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" 关闭静音
willis
2021-09-13 16:56:09 +08:00
hammerspoon 才是正解
mMartin
2021-09-14 14:01:29 +08:00
hammerspoon 正解 我实现过连接某个 WiFi 自动连接 smb
cuixiao603
2021-09-23 22:14:58 +08:00
通过 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()

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/801462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX