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

2024-10-04 11:33:05 发布

您现在位置: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()

这段代码尝试使用liblvlcpython绑定来播放列表中出现的歌曲,当我只播放一首歌曲时一切正常,但当我尝试循环播放一个歌曲列表时,什么也不会播放


Tags: instanceinimportsongsysmusicpublic歌曲
1条回答
网友
1楼 · 发布于 2024-10-04 11:33:05

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

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

相关问题 更多 >