SONOS命令行工具

sonos-cli的Python项目详细描述


SONOS命令行界面

从命令行控制你的sonos播放器。使用Sonos Control API来控制sonos组。

安装

在OSX上使用Homebrew

brew tap bwilczynski/tap
brew install sonos-cli

使用pip(需要python 3):

pip install sonos-cli

用法

$ sonos [OPTIONS] COMMAND [ARGS]

开始

Setup integration使用sonos api 运行sonos config以提供 应用程序的客户端ID和客户端机密。

或者在运行sonos之前设置以下环境变量:

exportSONOS_CLIENT_ID={YOUR_CLIENT_ID}exportSONOS_CLIENT_SECRET={YOUR_CLIENT_SECRET}

登录到SONOS服务(打开Web浏览器,将用户发送到SONOS登录服务):

$ sonos login

设置活动家庭:

$ sonos set household

有关用法和帮助内容,请传入--help参数,例如:

$ sonos --help
$ sonos get --help

可用命令

从SONOS获取信息:

$ sonos get [groups | households | playlists | tracks]

使用--output选项格式化显示的结果:

$ sonos get groups --output table

coordinatorId             id                                   name              playbackState
------------------------  -----------------------------------  ----------------  ----------------------
RINCON_B8E937E6D36202100  RINCON_B8E937E6D36202100:23          Bedroom.          PLAYBACK_STATE_PAUSED
RINCON_B8E937E6D40E02100  RINCON_B8E937E6D40E02100:128         Bathroom          PLAYBACK_STATE_IDLE
RINCON_B8E937DA7E6802100  RINCON_B8E937DA7E6802100:17          Bathroom 2.       PLAYBACK_STATE_PAUSED
RINCON_347E5C90FA9502100  RINCON_347E5C90FA9502100:4142323492  Living Room       PLAYBACK_STATE_PLAYING
$ sonos get groups --output json

[{"coordinatorId": "RINCON_B8E937E6D36202100",
    "id": "RINCON_B8E937E6D36202100:23",
    "name": "Bedroom",
    "playbackState": "PLAYBACK_STATE_PAUSED",
    ...
  }
  ...
}

控制播放:

$ sonos play
$ sonos pause
$ sonos next
$ sonos prev

设置活动组/家庭:

$ sonos set[group | household]

获取播放状态:

$ sonos status

对照组体积

$ sonos volume
20
$ sonos volume 25

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何为显示标签添加排序   java如何使用if函数调用数组元素   java从jlistbox中的给定值中选择最大值   作为java开发者,C++还是C++?   java二进制XML文件行#8:膨胀类安卓时出错。小装置。TableRow何时开始活动   java PDFTable Itext阿拉伯语   在eclipse PDE中找不到java视图描述符异常   Java(JavaFX)中的语法错误   java中的字符串标记化(大文本)   安卓是否可以从R.java获取a(int>String)映射   java自定义日历月   java应用程序在一台PC上启动后立即关闭,但在另一台PC上运行良好   java如何保证gradle中的TestNG将JDK添加到IntelliJ的类路径?   java Hibernate标准和比较器   java为什么在以编程方式激活断言时,“assert false”不会导致AssertionError?   java如何替换Jtabbedpane中的现有选项卡   我们应该在Java中处理未检查的异常吗?   java解析PDF失败,因为缺少OpenType布局表   java使用红色和蓝色值为像素着色(BuffereImage)?   由于父类私有对象(i18n)无法访问,java EasyMock引发NullPointerexception