Python VLC 中的媒体列表
Media List in Python VLC
我需要在 Python 中编写一个程序,使用 Linux OS 播放 VLC 播放器中文件夹中的视频文件。这些文件必须在播放列表中。代码:
import vlc
mrl1 = '....1.3gp'
mrl2 = '....2.3gp'
Instance = vlc.Instance('--input-repeat=-1', '--fullscreen', '--mouse-hide-timeout=0')
MediaList = Instance.media_list_new()
MediaList.add_media(Instance.media_new(mrl2))
MediaList.add_media(Instance.media_new(mrl1))
list_player = Instance.media_list_player_new()
list_player.set_media_list(MediaList)
list_player.next()
player.play()
问题是在 运行 第一个视频播放后,播放器关闭。我认为它不会将第二个视频添加到列表中。
- 如何在 Python 的 LibVLC 绑定中将视频添加到播放列表?
- 有没有播放一个文件夹里所有视频的实用函数?
UPD:我创建了一个播放列表,运行 它用于在 VLC 播放器中进行测试。只播放第一个视频。 VLC也关闭后。问题是什么?
使用 while/for 循环逐一遍历媒体列表。在这种情况下,指针可能仅指向第一个视频。
编辑 1:
[For 循环的使用] (Python VLC binding- playing a playlist) 请参阅此问题的答案部分。 For 循环用于遍历 url(在本例中为媒体列表)。
你应该把它放到一个循环中,等待每首歌曲播放完毕。例如,试试这个代码
import vlc
import time
mrl1 = '....1.3gp'
mrl2 = '....2.3gp'
song_list = [mrl1,mrl2]
instance = vlc.Instance('--input-repeat=-1', '--fullscreen', '--mouse-hide-timeout=0')
for song in song_list:
player = instance.media_player_new()
media = instance.media_new(song)
media.get_mrl()
player.set_media(media)
player.play()
playing = set([1,2,3,4])
time.sleep(1)
duration = player.get_length() / 1000
mm, ss = divmod(duration, 60)
while True:
state = player.get_state()
if state not in playing:
break
continue
我需要在 Python 中编写一个程序,使用 Linux OS 播放 VLC 播放器中文件夹中的视频文件。这些文件必须在播放列表中。代码:
import vlc
mrl1 = '....1.3gp'
mrl2 = '....2.3gp'
Instance = vlc.Instance('--input-repeat=-1', '--fullscreen', '--mouse-hide-timeout=0')
MediaList = Instance.media_list_new()
MediaList.add_media(Instance.media_new(mrl2))
MediaList.add_media(Instance.media_new(mrl1))
list_player = Instance.media_list_player_new()
list_player.set_media_list(MediaList)
list_player.next()
player.play()
问题是在 运行 第一个视频播放后,播放器关闭。我认为它不会将第二个视频添加到列表中。
- 如何在 Python 的 LibVLC 绑定中将视频添加到播放列表?
- 有没有播放一个文件夹里所有视频的实用函数? UPD:我创建了一个播放列表,运行 它用于在 VLC 播放器中进行测试。只播放第一个视频。 VLC也关闭后。问题是什么?
使用 while/for 循环逐一遍历媒体列表。在这种情况下,指针可能仅指向第一个视频。
编辑 1:
[For 循环的使用] (Python VLC binding- playing a playlist) 请参阅此问题的答案部分。 For 循环用于遍历 url(在本例中为媒体列表)。
你应该把它放到一个循环中,等待每首歌曲播放完毕。例如,试试这个代码
import vlc
import time
mrl1 = '....1.3gp'
mrl2 = '....2.3gp'
song_list = [mrl1,mrl2]
instance = vlc.Instance('--input-repeat=-1', '--fullscreen', '--mouse-hide-timeout=0')
for song in song_list:
player = instance.media_player_new()
media = instance.media_new(song)
media.get_mrl()
player.set_media(media)
player.play()
playing = set([1,2,3,4])
time.sleep(1)
duration = player.get_length() / 1000
mm, ss = divmod(duration, 60)
while True:
state = player.get_state()
if state not in playing:
break
continue