我正在尝试创建一个Alfred工作流程,通过Alfred通过热键更改音量。
控制Sonos的工作宝石在这里:https://github.com/soffes/sonos
问题是:将gem作为脚本的一部分,只是普通的不起作用。当我运行工作流程时没有任何反应。我附上了我正在谈论的Alfred截图的截图。
我尝试过其他Ruby脚本,运行得很好。但任何需要宝石的东西都不起作用。
我也试过下载宝石并且只需要绝对路径,但也没有运气。
答案 0 :(得分:0)
sonos
gem使用savon
gem与Sonos api进行SOAP通信。 Savon
正在登录stdout
,这阻止了Alfred工作流程的运行(它们依赖于stdout
进行通信)。 My fork of the sonos gem禁用日志记录,可以在您的Alfred工作流程中使用。
require '/path/to/sonos'
Sonos.savon_config = { log: false }
speaker = Sonos::System.new.speakers.first
puts case "{query}"
when "play" then speaker.play and "Playing"
when "pause" then speaker.pause and "Paused"
when "up" then speaker.volume += 5 and "Turned up"
when "down" then speaker.volume -= 5 and "Turned down"
when "next" then speaker.next and "Next"
else "Unknown command"
end