Ejemplo n.º 1
0
class VlcPlayer:
    def __init__(self):
        self.player = None
        self.mediaplayer = None

    def __del__(self):
        if self.player is not None:
            self.player.stop()

    def pause(self):
        if self.mediaplayer is not None:
            self.mediaplayer.pause()

    def play(self):
        if self.player is not None:
            self.player.play()

    def stop(self):
        self.player.stop()

    def next(self):
        if isinstance(self.player, MediaListPlayer):
            self.player.next()

    def start(self, name, play=True):
        if self.player != None:
            self.player.stop()
            self.player = None
        self.mediaplayer = MediaPlayer()
        assert(isinstance(name, list))
        playlist = MediaList()
        for entry in name:
            if entry is not None:
                playlist.add_media(entry)
        self.player = MediaListPlayer()
        self.player.set_media_list(playlist)
        self.player.set_media_player(self.mediaplayer)
        if play:
            self.play()

    def current(self):
        try:
            if self.mediaplayer.is_playing():
                return self.mediaplayer.get_media().get_meta(0)
            return ""
        except:
            return ""

    def is_playing(self):
        return self.player.is_playing()
Ejemplo n.º 2
0
class VlcPlayer:
    def __init__(self):
        self.player = None
        self.mediaplayer = None

    def __del__(self):
        if self.player is not None:
            self.player.stop()

    def pause(self):
        if self.mediaplayer is not None:
            self.mediaplayer.pause()

    def play(self):
        if self.player is not None:
            self.player.play()

    def stop(self):
        self.player.stop()

    def next(self):
        if isinstance(self.player, MediaListPlayer):
            self.player.next()

    def start(self, name, play=True):
        if self.player != None:
            self.player.stop()
            self.player = None
        self.mediaplayer = MediaPlayer()
        assert (isinstance(name, list))
        playlist = MediaList()
        for entry in name:
            if entry is not None:
                playlist.add_media(entry)
        self.player = MediaListPlayer()
        self.player.set_media_list(playlist)
        self.player.set_media_player(self.mediaplayer)
        if play:
            self.play()

    def current(self):
        try:
            if self.mediaplayer.is_playing():
                return self.mediaplayer.get_media().get_meta(0)
            return ""
        except:
            return ""

    def is_playing(self):
        return self.player.is_playing()
Ejemplo n.º 3
0
 def start(self, name, play=True):
     if self.player != None:
         self.player.stop()
         self.player = None
     self.mediaplayer = MediaPlayer()
     assert (isinstance(name, list))
     playlist = MediaList()
     for entry in name:
         if entry is not None:
             playlist.add_media(entry)
     self.player = MediaListPlayer()
     self.player.set_media_list(playlist)
     self.player.set_media_player(self.mediaplayer)
     if play:
         self.play()
Ejemplo n.º 4
0
    def __init__(self, vlc_instance):
        Talker.__init__(self)
        self.vlc_instance = vlc_instance
        self.media_player: MediaPlayer = MediaPlayer(self.vlc_instance)
        self.media_list_player: MediaListPlayer = MediaListPlayer(self.vlc_instance)
        self.media_list_player.set_media_player(self.media_player)
        self.media_list: MediaList = MediaList(self.vlc_instance)
        self.media_list_player.set_media_list(self.media_list)

        self.vlc_events = self.media_player.event_manager()
        self.vlc_events.event_attach(EventType.MediaPlayerEndReached, self.__on_end_event)
        self.vlc_events.event_attach(EventType.MediaPlayerStopped, self.__on_stop_event)
        self.vlc_events.event_attach(EventType.MediaPlayerPlaying,  self.__on_play_event)
Ejemplo n.º 5
0
 def start(self, name, play=True):
     if self.player != None:
         self.player.stop()
         self.player = None
     self.mediaplayer = MediaPlayer()
     assert(isinstance(name, list))
     playlist = MediaList()
     for entry in name:
         if entry is not None:
             playlist.add_media(entry)
     self.player = MediaListPlayer()
     self.player.set_media_list(playlist)
     self.player.set_media_player(self.mediaplayer)
     if play:
         self.play()
Ejemplo n.º 6
0
    def play_alarm_sound(self, filepath):
        # here we use a MediaListPlayer instance as it offers the repeat functionality
        self.player = MediaListPlayer()
        self.player.set_playback_mode(PlaybackMode.loop)
        media_player = Media(filepath)
        if not FileService.file_exists(filepath):
            print(
                'The alarm could not be played. Fallback to well known default alarm'
            )
            media_player = Media(DEFAULT_ALARM_FILEPATH)
        media_list = MediaList()
        media_list.add_media(media_player)
        self.player.set_media_list(media_list)

        result = self.player.play()
        if result == -1:
            # TODO test this
            print('Something went wrong')

        self.playing_alarm = True
Ejemplo n.º 7
0
 def _load_media(player: vlc.MediaListPlayer, media: vlc.Media):
     """Loads the media to the MediaListPlayer"""
     ml: vlc.MediaList = vlc.MediaList()
     ml.add_media(media)
     player.stop()
     player.set_media_list(ml)