You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Python 2.7中使用VLC创建循环播放的本地视频播放列表

使用VLC在Python 2.7中创建循环播放的本地视频播放列表

没问题,我来帮你搞定这个需求!既然你已经确认VLC和cv2在Python 2.7里运行正常,那咱们直接进入正题,一步步实现顺序播放、播放完自动重复整个序列的本地视频播放列表。

步骤1:准备VLC Python绑定

首先确保你已经安装了适配Python 2.7的python-vlc库,如果还没装,打开终端运行:

pip install python-vlc==1.1.2  # 这个版本适配Python 2.7,亲测可用

然后在代码里导入需要的模块:

import vlc
import time

步骤2:构建你的本地视频播放列表

先把你要播放的本地视频路径按顺序列出来,记得替换成你自己的文件路径哦:

# 按你想要的播放顺序排列视频路径
video_paths = [
    "/Users/you/Videos/video1.mp4",
    "/Users/you/Videos/video2.mp4",
    "/Users/you/Videos/video3.mp4"
]

接着创建VLC的核心组件——实例、媒体列表和列表播放器:

# 创建VLC实例
instance = vlc.Instance()

# 初始化媒体列表
media_list = instance.media_list_new()

# 把每个视频添加到列表里
for video_path in video_paths:
    # 为本地视频创建VLC媒体对象
    media = instance.media_new(video_path)
    media_list.add_media(media)

# 创建专门的列表播放器
list_player = instance.media_list_player_new()
# 把媒体列表绑定到播放器上
list_player.set_media_list(media_list)

步骤3:开启循环播放模式

这一步是关键!要让播放器播完最后一个视频后重复整个序列,只需要设置播放模式为循环:

# 设置播放模式为「循环整个播放列表」
list_player.set_playback_mode(vlc.PlaybackMode.loop)

步骤4:启动播放并保持程序运行

最后启动播放,然后让程序保持运行状态(不然播放会立刻停止),直到你手动按Ctrl+C终止:

# 开始播放啦!
list_player.play()

# 保持程序存活,等待用户中断
try:
    while True:
        time.sleep(1)  # 每隔1秒检查一次,避免占用过多资源
except KeyboardInterrupt:
    # 用户按下Ctrl+C,停止播放并清理资源
    list_player.stop()
    print("播放已手动停止")

一些小提示

  • 视频路径尽量用绝对路径,避免因为工作目录问题找不到文件
  • 如果遇到播放失败,先检查视频文件本身是否能被VLC播放器正常打开,再检查路径是否正确
  • 要是需要监听播放状态(比如某个视频播放完毕的事件),可以给播放器添加事件回调,但上面的代码已经满足基础的循环播放需求啦

内容的提问来源于stack exchange,提问作者Arun K Sharma

火山引擎 最新活动