递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 354|回复: 23
打印 上一主题 下一主题

[类库封装] 【MPV播放器组件 v2.1 稳定版】(基于 libmpv 0.41.0)

[复制链接]

13

主题

204

帖子

931

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
931
跳转到指定楼层
楼主
发表于 3 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 孤独靖仇 于 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获取。感谢所有反馈,播放愉快!

本组件是火山视窗版本!不是安卓的!
游客,如果您要查看本帖隐藏内容请回复



回复

使用道具 举报

13

主题

204

帖子

931

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
931
来自 17#
 楼主| 发表于 前天 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 显式释放,没有内存泄漏风险。

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

回复

使用道具 举报

235

主题

1614

帖子

6399

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
6399
QQ
沙发
发表于 3 天前 | 只看该作者
1111111111
青浦大B哥:全国活动直播技术[/color
回复

使用道具 举报

23

主题

336

帖子

3849

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3849
板凳
发表于 3 天前 | 只看该作者
6666666666
回复

使用道具 举报

14

主题

183

帖子

3572

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3572
地板
发表于 3 天前 | 只看该作者
6666666666666
回复

使用道具 举报

9

主题

360

帖子

2165

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
2165
5#
发表于 前天 00:33 | 只看该作者
1111111111
回复

使用道具 举报

41

主题

549

帖子

3958

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3958
6#
发表于 前天 08:24 | 只看该作者
感谢感谢感谢感谢!!!
一花一世界,一叶一菩提
回复

使用道具 举报

4

主题

580

帖子

3175

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3175
7#
发表于 前天 08:27 | 只看该作者
感谢一下
回复

使用道具 举报

112

主题

969

帖子

7624

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
7624
8#
发表于 前天 09:25 | 只看该作者
66666666
回复

使用道具 举报

55

主题

194

帖子

2757

积分

银牌会员

Rank: 6Rank: 6

积分
2757
9#
发表于 前天 09:50 | 只看该作者
感谢大佬:噜阿噜
回复

使用道具 举报

0

主题

41

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
10#
发表于 前天 09:52 | 只看该作者
支持支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-6-1 11:57 , Processed in 0.114481 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表