コード例 #1
0
    def __init__(self):
        global _player
        if _player is not None:
            raise "Player was initialized!"

        random.seed(time.clock())

        print("Starting player...")
        self.vlcInstance = vlc.Instance(
            "--live-caching=0 --network-caching=0 --norm-buff-size=8")
        self.vlcPlayer = self.vlcInstance.media_player_new()
        self.vlcEvents = self.vlcPlayer.event_manager()
        self.vlcEvents.event_attach(vlc.EventType.MediaPlayerEndReached,
                                    self.songFinished)
        self.vlcEvents.event_attach(vlc.EventType.MediaPlayerEncounteredError,
                                    self.songCorrupted)
        self.vlcEvents.event_attach(vlc.EventType.MediaStateChanged,
                                    self.mediaStateChanged)

        # Import old DJPajton playlist
        if Song.objects.count() == 0 and os.path.isfile('music4you.playlist'):
            with open("music4you.playlist", "r") as f:
                playlist = json.loads(f.read())
                for item in playlist:
                    print("Item: {}".format(item))

                    song = Song()
                    song.id = int(item['id'])
                    song.date = item['addedDate']
                    song.active = (bool(item['deleted']) == False)
                    song.url = item['url']
                    song.title = item['title']

                    try:
                        user = User.objects.get(login=item['addedLogin'])
                    except:
                        user = User()
                        user.active = False
                        user.type = USER_TYPE_SKYPE
                        user.login = item['addedLogin']
                        user.displayName = user.login
                        user.save()

                    song.user = user
                    song.save()

        #self.vlcPlayer.audio_set_volume(100)

        if Song.objects.count() == 0:
            return