2014-06-25 40 views
1

我正在等待一首歌曲完成播放下一首歌曲。等待python以外的歌曲完成

我在Windows上运行python 3.4,但我试图能够在Linux上使用它(raspberry pi)。

我用命令subprocess.call([PLAYER, SONG])打开mp3文件。它在vlc中播放,然后停止。我知道我没有在程序完成时为Python添加任何内容。

这就是你们进来的地方。我想找到一个命令,等待歌曲结束,当歌曲结束时,其余的代码将会处理。

我想要的命令能够在Linux操作系统上使用,我想不必安装任何模块。

如果肯定需要模块,我会安装它们。

回答

1

您可以使用VLC python bindings来获取有关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 

我希望这是有益的。