等待Python外播放的歌曲结束

1 投票
1 回答
1503 浏览
提问于 2025-04-18 10:59

我想等一首歌播放完再播放下一首。

我在Windows上用的是Python 3.4,但我也想在Linux(比如raspberry pi)上用。

我用命令subprocess.call([PLAYER, SONG])来打开mp3文件。它在vlc里播放,然后就停了。我知道我没有添加任何东西让程序告诉Python什么时候播放完。

这就是你们可以帮忙的地方。我想找一个命令,可以等到歌曲播放完再继续执行后面的代码。

我希望这个命令能在Linux操作系统上使用,而且我尽量不想安装任何模块。

如果确实需要安装模块,我会去安装的。

1 个回答

2

你可以使用 VLC的Python接口 来获取关于VLC播放器的各种信息。

有很多不同的方法可以提供你需要的信息。比如,你可以使用 get_state(self) 这个方法,它可以告诉你播放器的状态。所以,当歌曲播放完毕时,VLC的状态会变成停止。

示例代码:

import vlc

def setup_player(filename):
    vlc_instance = vlc.Instance()
    media = vlc_instance.media_new(filename)
    player = vlc_instance.media_player_new()
    player.set_media(media)
    player.play()# Start the player
    print player.get_state()# Print player's state
    player.stop()# Stop the player
    print player.get_state()# Print player's state

setup_player('filename')#Put media file name/location here

希望这些信息对你有帮助。

撰写回答