等待Python外播放的歌曲结束
我想等一首歌播放完再播放下一首。
我在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
希望这些信息对你有帮助。