1

我正在尝试创建一个 Alfred 工作流程,以通过 Alfred 使用热键更改音量。

控制 Sonos 的工作宝石在这里:https ://github.com/soffes/sonos

问题是:将 gem 包含在简单的脚本中是行不通的。当我运行工作流程时,没有任何反应。我附上了我正在谈论的 Alfred 截图的截图。

我尝试过其他 Ruby 脚本,它们运行得很好。但是任何需要宝石的东西都行不通。

我也尝试过下载 gem 并且只需要绝对路径,但也没有运气。

阿尔弗雷德截图

4

1 回答 1

0

sonosgem 使用gemsavon与 Sonos api 进行 SOAP 通信。Savon正在登录stdout,这阻止了 Alfred 工作流程的工作(它们依赖于stdout通信)。我的sonos gem 的fork禁用了日志记录,可以在你的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
于 2014-02-02T17:46:59.510 回答