2014-06-25 77 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 

我希望這是有益的。