Пример #1
0
    def do(self, params):
        speaker = SoCo(socket.gethostbyname(params['host']))
        print(speaker.groups)

        if 'volume' in params:
            speaker.volume = params['volume']

        if 'clear_queue' in params:
            speaker.clear_queue()

        if 'add_playlist_id_to_queue' in params:
            playlist = speaker.get_sonos_playlists()[
                params['add_playlist_id_to_queue']]
            speaker.add_uri_to_queue(playlist.resources[0].uri)

        if 'switch_to_tv' in params:
            speaker.switch_to_tv()

        if 'next' in params:
            speaker.next()
        elif 'previous' in params:
            speaker.previous()

        if 'play' in params:
            speaker.play()
        elif 'pause' in params:
            speaker.pause()

        if 'set_sleep_timer' in params:
            speaker.set_sleep_timer(params['set_sleep_timer'] * 60)
Пример #2
0
        def play_spot(junk, location):
            time.sleep(5)
            play_room = (str(pod_dict['Rooms']['Living']))

            sonos = SoCo(play_room)
            uri = location['location']
            sonos.clear_queue()
            sonos.add_uri_to_queue(uri=uri)
            sonos.play_from_queue(index=0)
            sonos.play_mode = "SHUFFLE_NOREPEAT"
Пример #3
0
def playTheme(themes, sonosPlayer):
    sonos = SoCo(sonosPlayer)
    #syslog.syslog('%s' % str(sonos.get_current_track_info()))
    #return '';
    if playerPlays(sonos):
        syslog.syslog('Already playing')
        return '';
    sonos.unjoin()
    sonos.clear_queue()
    sonos.add_uri_to_queue(themes['closer'])
    sonos.play_mode = 'REPEAT_ALL'
    syslog.syslog('%s' % sonos.play_mode)
    sonos.volume = 5;    
    if playerPlays(sonos):
        return '';    
    sonos.play()
    syslog.syslog('Playing Closer')
Пример #4
0
class SonoController():
    def __init__(self, ip):
        self.core = SoCo(ip)

    def play_uri(self, url):
        self.core.play_uri(url)

    def play_by_userName(self, name):
        url = URL_BASE.get(name, "Unknown")
        if (url == "Unknown"):
            track = self.core.get_current_track_info()
            current_play = track['title']
            # print track['title']
            target_play = MUSIC_BASE.get(url, "Unknow")
            # print target_play
            if (current_play == target_play):
                print "unknown person"
            else:
                self.core.clear_queue()
                self.core.add_uri_to_queue(ALARM_URL)
                self.core.add_uri_to_queue(END_URL)
                self.core.play_from_queue(0, True)
        else:
            track = self.core.get_current_track_info()
            current_play = track['title']
            # print track['title']
            target_play = MUSIC_BASE.get(url, "Unknow")
            # print target_play
            if (current_play == target_play):
                print "the same person"
            else:
                self.core.clear_queue()
                self.core.add_uri_to_queue(url)
                self.core.add_uri_to_queue(END_URL)
                self.core.play_from_queue(0, True)

    def pause(self):
        self.core.pause()

    def mute(self):
        self.core.mute = True

    def unMute(self):
        self.core.mute = False

    def setVolume(self, val):
        self.core.volume = val

    def alarm(self):
        self.play_uri(ALARM_URL)
        time.sleep(8.0)
        self.pause()