gpt4 book ai didi

python - Python VLC 中的媒体列表

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:44 26 4
gpt4 key购买 nike

我需要用 Python 编写一个程序,使用 Linux 操作系统从 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()

问题是在运行第一个视频后,播放器关闭。我认为它不会将第二个视频添加到列表中。

  1. 如何在 Python 的 LibVLC 绑定(bind)中将视频添加到播放列表?
  2. 是否有实用功能可以播放文件夹中的所有视频?UPD:我创建了一个播放列表,并在 VLC 播放器中运行它进行测试。只播放第一个视频。 VLC也关闭后。问题是什么?

最佳答案

你应该把它放到一个循环中,等待每首歌曲播放完毕。例如,试试这段代码

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 - Python VLC 中的媒体列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38650544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com