在 ruby 中检索系统音量和静音状态
Posted
技术标签:
【中文标题】在 ruby 中检索系统音量和静音状态【英文标题】:Retrieve system volume and mute status in ruby 【发布时间】:2015-07-25 16:01:00 【问题描述】:有没有一种干净的方法来检测默认输出设备(在 Mac OS X 上)是否正在通过 ruby 程序静音?
我知道我可以对 applescript 进行系统调用,或者使用 Objective-c 可可调用将某些东西组合在一起。但我想要一些内置的或久经考验的宝石。
【问题讨论】:
【参考方案1】:有几个 Ruby 到 AppleScript 的 gem:
Appscript RubyOSA根据Avoiding AppleScript through Ruby: rb-appscript or rubyosa?,Appscript 更胜一筹,但对我来说都不能干净地编译(OSX 10.10.2、Ruby 2.2.2),这是一个非常简单的用例,所以我会自己调用发送到osascript
。从 Ruby went this direction 和 AppleScript sound controls 控制 iTunes 的 RubyTunes gem 很简单:
osascript -e "output muted of (get volume settings)"
false
【讨论】:
我想避免使用 applescript,因为它会调用耗电量大的 launchservicesd。我想一分钟打这个电话很多次,而applescript版本正在耗尽我的电池。以上是关于在 ruby 中检索系统音量和静音状态的主要内容,如果未能解决你的问题,请参考以下文章