使用pyspotify播放音乐,我漏掉了什么?

0 投票
1 回答
1762 浏览
提问于 2025-04-18 09:50

我刚开始学习Python,想要创建一个类,用来通过Spotify库pyspotify播放音乐。下面是我的代码,我以为运行play方法就能听到音乐,但实际上没有声音,也没有看到任何错误信息。我还需要做些什么呢?

import spotify
import threading

class Music:
    session = None

    def __init__(self):
        logged_in_event = threading.Event()

        def connection_state_listener(session):
            if session.connection.state is spotify.ConnectionState.LOGGED_IN:
                logged_in_event.set()

        self.session = spotify.Session()
        loop = spotify.EventLoop(self.session)
        loop.start()
        self.session.on(
                   spotify.SessionEvent.CONNECTION_STATE_UPDATED,
                   connection_state_listener)

        self.session.login('accountname', 'password')
        logged_in_event.wait()

        print self.session.connection.state
        print self.session.user

    def play(self):
        track = self.session.get_track('spotify:track:2Foc5Q5nqNiosCNqttzHof')
        track.load()

        self.session.player.load(track)
        self.session.player.play(play=True)

在另一个Python文件中,我这样做:

music = Music.Music()
music.play()

1 个回答

1

我加了一行代码

audio = spotify.AlsaSink(session)

现在它可以正常工作了!

撰写回答