コード例 #1
0
class VideoHandler(Handler):
    def __init__(self):
        Handler.__init__(self)

        self.backend = OMXPlayer(self.send_status)

        #self.add_listener('pause', callback=self._wscb_video_request)
        self.add_listener('pause')
        self.add_listener('start')
        self.add_listener('stop')
        self.add_listener('storage.command.set.sound_level', full_path=True)

        self.start()

    def _wscb_sound_level(self, channel, message):
        # toggle_mute
        # unmute
        # mute
        # set_volume
        if 'level' in message['value']:
            self.backend.set_volume(message['value']['level'])
        if 'state' in message['value']:
            self.backend.mute(message['value']['state'])

    def _wscb_pause(self, channel, message):
        logging.debug("pausing media")
        self.backend.toggle_pause()

    def _wscb_start(self, channel, message):
        media = MediaManager.get_media_dict('video', message['media'])

        logging.debug("playing media %s" % media['path'])
        self.backend.play(media['path'])
        self.send_status('start')

    def _wscb_stop(self, channel, message):
            logging.debug("stopping current media")
            self.backend.stop()

    def send_status(self, status = "status"):
        logging.debug("sending status")
        message = { "position": self.backend.position,
                    "duration": self.backend.media_length,
                    "playing": self.backend.playing,
                    "volume": self.backend.volume,
                    "amplitude": self.backend.amplitude,
                    "muted": self.backend.muted,
                    "media": self.backend.media }

        self.send_event(status, message)

    def start(self):
        logging.info("Starting MultimediaHandler's websocket")
        self._ws.start(detach=False)
コード例 #2
0
    def __init__(self):
        Handler.__init__(self)

        self.backend = OMXPlayer(self.send_status)

        #self.add_listener('pause', callback=self._wscb_video_request)
        self.add_listener('pause')
        self.add_listener('start')
        self.add_listener('stop')
        self.add_listener('storage.command.set.sound_level', full_path=True)

        self.start()