Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用vlc python绑定播放文件_Python_Mp3_Vlc_Libvlc - Fatal编程技术网

无法使用vlc python绑定播放文件

无法使用vlc python绑定播放文件,python,mp3,vlc,libvlc,Python,Mp3,Vlc,Libvlc,这是我的代码,它尝试使用liblvlc python绑定播放列表中的歌曲。当我只播放一首歌曲时,一切正常,但当我尝试循环播放歌曲列表时,什么都不会播放。您需要将其放入循环中,等待每首歌曲完成播放。 一个简单的方法如下: import vlc import sys def player(): song_list=['C:/Users/Public/Music/SampleMusic/Sleep.mp3', 'C:/Users/Public/Music/Sample

这是我的代码,它尝试使用liblvlc python绑定播放列表中的歌曲。当我只播放一首歌曲时,一切正常,但当我尝试循环播放歌曲列表时,什么都不会播放。

您需要将其放入循环中,等待每首歌曲完成播放。
一个简单的方法如下:

import vlc
import sys
def player():
   song_list=['C:/Users/Public/Music/SampleMusic/Sleep.mp3',
              'C:/Users/Public/Music/SampleMusic/Away.mp3']
   instance=vlc.Instance()
   for song in song_list:
       player=instance.media_player_new()
       media=instance.media_new(song)
       media.get_mrl()
       player.set_media(media)
       player.play()
       if 'stop' in raw_input('Command'):
          player.stop()
          sys.exit()
import vlc
import time
song_list=['/path_to_song1/my.mp3','/path_to_song2/other.mp3']
instance=vlc.Instance()
for song in song_list:
    player=instance.media_player_new()
    media=instance.media_new(song)
    print song
    media.get_mrl()
    player.set_media(media)
    player.play()
    playing = set([1,2,3,4])
    time.sleep(1) #Give time to get going
    duration = player.get_length() / 1000
    mm, ss = divmod(duration, 60)
    print "Playing", song, "Length:", "%02d:%02d" % (mm,ss)
    while True:
        state = player.get_state()
        if state not in playing:
            break
        continue