我正在尝试使用 python 3 制作自己的歌曲应用程序。我已经从 pip3 命令安装了 SoCo。我目前有这个脚本(称为 find.py)。
import time, soco, sys
def search_for_speaker(speaker_name):
global zone_list
zone_list = list(soco.discover())
for speaker in zone_list:
if speaker.player_name == speaker_name:
global player
player = speaker
search_for_speaker(sys.argv[1])
player.pause()
time.sleep(1)
player.play()
我家里的扬声器被称为Hallway
,Kitchen
和Living Room
。Hallway
并且Kitchen
在一个小组中,而Living Room
独立。
当我运行python3 find.py Living\ Room
时,脚本会暂停扬声器然后再次播放。我跑步时也是如此python3 find.py Kitchen
。问题是当我尝试python3 find.py Hallway
. 我最终得到这个错误。
Traceback (most recent call last):
File "find.py", line 12, in <module>
player.pause()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/soco/core.py", line 94, in inner_function
raise SoCoSlaveException(message)
soco.exceptions.SoCoSlaveException: The method or property "pause" can only be called/used on the coordinator in a group
我想这是因为扬声器kitchen
是“主”扬声器,而“走廊”扬声器不是。
我需要做什么才能让它工作?我希望能够在曲目上播放/暂停下一个/上一个并更改音量。
我知道我可以在运行脚本时更改扬声器的名称,但是我不会通过命令行运行它,而是来自 Better Touch Tool Remote (iOS)