递归火山软件开发平台

标题: 【MPV播放器组件 v2.1 稳定版】(基于 libmpv 0.41.0) [打印本页]

作者: 孤独靖仇    时间: 2026-5-29 23:05
标题: 【MPV播放器组件 v2.1 稳定版】(基于 libmpv 0.41.0)
本帖最后由 孤独靖仇 于 2026-5-30 13:21 编辑

MPV播放器组件 v2.1 稳定版(基于 libmpv 0.41.0)

论坛版本约每2-3个月更新一次,主打稳定优先。本次整合了 v2.0 以来所有改进与修复,推荐升级。
核心亮点
彻底解决多线程/销毁顺序导致的崩溃隐患,杜绝野指针访问
新增通用属性读取、任意 MPV 命令执行,扩展性大幅增强
摄像头支持分辨率枚举及参数便捷设置
错误事件全覆盖,所有操作失败均触发回调
所有设备列表、编解码器信息统一采用 JSON 格式,解析更规范

新增功能速览
// 读取任意属性
变量 音轨数 = 播放器.取属性整数("track-list/count")
// 万能命令(JSON数组或对象)
播放器.执行MPV命令("[\"set\",\"volume\",\"50\"]")
播放器.执行MPV命令文本("set volume 50")

// 摄像头分辨率枚举
变量 支持列表 = 播放器.取摄像头支持的分辨率("摄像头名")
播放器.置摄像头参数2(1280, 720, 30)
播放器.加载摄像头("摄像头名")

修复与优化
初始化阶段不再误发播放状态事件
修复 loop-file 等 inf 属性设置失败问题
音量可设为 0,不再拒绝静音请求
Win11 摄像头兼容性改进命令
队列防抖机制更稳健,避免属性设置丢失

升级须知
初始化返回值改为 JSON,需用 JSON.取文本("status") 判断成功
加载文件() 不再携带自动播放参数,请单独设置 播放器.自动播放 = 真
取音频设备列表、取硬件解码编码器 等方法现已返回 JSON,旧版 | 分隔格式无效
高频细修版本可加群26660804获取。感谢所有反馈,播放愉快!

本组件是火山视窗版本!不是安卓的!




作者: 朕的    时间: 2026-5-29 23:10
1111111111
作者: aycap    时间: 2026-5-29 23:37
6666666666
作者: kca    时间: 2026-5-29 23:50
6666666666666
作者: 寒风    时间: 2026-5-30 00:33
1111111111
作者: 兵三进一    时间: 2026-5-30 08:24
感谢感谢感谢感谢!!!
作者: 网络注册会员    时间: 2026-5-30 08:27
感谢一下
作者: zqiz    时间: 2026-5-30 09:25
66666666
作者: kanshijian    时间: 2026-5-30 09:50
感谢大佬:噜阿噜
作者: wgejtgiw    时间: 2026-5-30 09:52
支持支持
作者: blackvolcano    时间: 2026-5-30 10:29
1111111111
作者: iceyaer    时间: 2026-5-30 10:53
666666666666666666666666666666
作者: wgejtgiw    时间: 2026-5-30 11:22
本帖最后由 wgejtgiw 于 2026-5-30 11:43 编辑

D:\hos\SC\win_android\plugins\vprj_win\classlib\sys\wtl_ui_base

拖入一组新文件 替换原来的播放列表
如果MPV组件不停止播放,我这边 播放列表清空()无效
停止播放,播放列表清空 ()有效替换成功
但停止那一会 我这边播放窗口会闪白底 ,要是不会闪现白底效果更好要是能更换背景色可能也更好

我这用的是免费版的  ,上面的新版本打不开,不过没关系 有这个模块足够了 还是谢谢大佬你,支持支持

好像已弄好了 不出现白色了

作者: storey    时间: 2026-5-30 11:27
优秀。。。
作者: nurjay    时间: 2026-5-30 11:30
好东西!!!谢谢!
作者: 孤独靖仇    时间: 2026-5-30 12:48
本帖最后由 孤独靖仇 于 2026-5-30 12:50 编辑
wgejtgiw 发表于 2026-5-30 11:22
D:\hos\SC\win_android\plugins\vprj_win\classlib\sys\wtl_ui_base

拖入一组新文件 替换原来的播放列表

正常流程就是先停止在清空列表  就比如你正在使用一个文件!然后你删除这个文件就无法删除!这属于一个基本保护!如果弄成能直接清空!出现其他BUG的几率会大幅度上升!然后关于背景那个!直接加载一个图片当成背景即可!推荐图片大小越小越好!因为越小加载越快!且不会闪屏!
作者: 孤独靖仇    时间: 2026-5-30 12:57
隐藏亮点被发现了
其实播放列表早已内置智能预读,连续播放无缝切换。大部分用户现在都用 播放列表添加 + 播放列表下一项 来播剧,流畅省心,完全替代了单文件加载方式。这功能原本没写在文档里,没想到被火伴们自己挖出来了!其实还有其他亮点!就看小伙伴们能不能发现了!

在这里我可以明确说播放列表预读功能和 MPV 内存管理机制都请放心,经过全面检查,没有隐患:

1. 播放列表预读
初始化时已设定 playlist-prefetch=yes,MPV 会自动在后台解析下一项,实现无缝切换。
预读缓存大小由 demuxer-max-bytes(向前)和 demuxer-max-back-bytes(向后)控制,默认值已考虑主流使用场景,不会造成内存溢出。
播放列表清空、移除单曲时,对应的预读缓存会被 MPV 内部自动清理,无需手动干预。
所有播放列表操作(添加、下一项、清除等)均通过命令队列或直接 mpv 命令执行,MPV API 线程安全,不会因并发导致崩溃。

2. MPV 内存自动回收
调用 mpv_terminate_destroy(mpv_) 时会完整释放 MPV 内部所有资源:播放列表、缓存、解码器、渲染上下文等。
我们已确保在销毁 mpv 句柄前,所有工作线程(事件、命令队列、防抖器)均已退出,杜绝了野指针访问。
所有由 mpv 返回的字符串和节点均使用 mpv_free / mpv_free_node_contents 显式释放,没有内存泄漏风险。

所以无论是播放列表预读还是整体内存管理,目前都已稳定可靠,可以放心投入使用。


作者: 落雪有声    时间: 2026-5-30 14:09
这玩意需要解码库吗
作者: 孤独靖仇    时间: 2026-5-30 14:28
落雪有声 发表于 2026-5-30 14:09
这玩意需要解码库吗

内置的!几乎支持所有格式!
作者: cl6843751    时间: 2026-5-30 15:32

支持支持
作者: qh1908    时间: 2026-5-31 08:38
okokokokopkopk
作者: xucy    时间: 2026-5-31 09:11
支持支持
作者: alanwoo    时间: 2026-5-31 09:29

感谢一下
作者: sokp    时间: 2026-6-1 10:10
6666666666666666
作者: lingyunzhi601    时间: 2026-6-26 15:13
感谢大佬分享!!!!!
作者: 15544879436    时间: 2026-7-6 21:14
4555555555
作者: yxrjdnh    时间: 4 天前
好的,那我来鉴别下吧

作者: 好人好    时间: 3 天前
学习一下




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4