내 PC에서 음악을 제어 할 수 있도록 Python soco에서 sonos 재생 목록을로드하려고합니다.Python soco를 사용하여 Sonos 재생 목록을 재생하려면 어떻게해야합니까?
soco 개발자에게 감사드립니다. 내 음악 보관함에서 개별 트랙을 재생하고 인터넷 오디오를 스트리밍하는 것이 매우 편리합니다. sonos 재생 목록을 사용하는 방법을 알아 내지 못했습니다.
zone은 Sonos 스피커 또는 스피커 쌍을 나타내는 SoCo 객체가되도록합니다. 각 영역에는 현재 영역의 zone.contentDirectory에 저장된 대기열이 있습니다. 이 대기열을 재생 목록의 트랙으로 대체해야한다고 생각하지만 재생 목록의 트랙을 열거하는 방법을 찾지 못했습니다. 또한 재생 목록 URI 재생이 작동하지 않습니다.
SONOS 재생 목록의 목록은, 내가 재생 목록의 세부 사항을 볼 때 특정 재생 목록
pl = zone.get_sonos_playlist_by_attr('title', 'Dance').
으로 제목으로 사용할 수있는 유일한 트랙 정보
import soco
zone = soco.Soco('192.168.1.249')
zone.get_playlists()
함께 사용할 수 있습니다 Sonos 장치의 uri 인 것 같습니다.
>>> pprint(pl.to_dict())
{u'desc': None,
u'item_id': u'SQ:28',
u'parent_id': u'SQ:',
u'resources': [{u'bitrate': None,
u'bits_per_sample': None,
u'color_depth': None,
u'duration': None,
u'import_uri': None,
u'nr_audio_channels': None,
u'protection': None,
u'protocol_info': 'file:*:audio/mpegurl:*',
u'resolution': None,
u'sample_frequency': None,
u'size': None,
u'uri': 'file:///jffs/settings/savedqueues.rsq#28'}],
u'restricted': True,
u'title': u'Dance'}
하지만이 uri는 zone.play_uri()와 함께 재생할 수 없습니다.
>>> zone.play_uri('file:///jffs/settings/savedqueues.rsq#28')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/soco/core.py", line 104, in inner_function
return function(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/soco/core.py", line 483, in play_uri
('CurrentURIMetaData', meta)
File "/usr/local/lib/python2.7/dist-packages/soco/services.py", line 181, in _dispatcher
return self.send_command(action, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/soco/services.py", line 408, in send_command
self.handle_upnp_error(response.text)
File "/usr/local/lib/python2.7/dist-packages/soco/services.py", line 469, in handle_upnp_error
error_xml=xml_error
soco.exceptions.SoCoUPnPException: UPnP Error 714 received: Illegal MIME-Type from 192.168.1.249
대기열을 재생 목록 uri의 트랙으로 교체해야한다고 생각하지만 어떻게해야합니까?
감사합니다. 단순하고 작동합니다. – gripsnarl