递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

13

主题

204

帖子

927

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
927
跳转到指定楼层
楼主
发表于 昨天 23:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 孤独靖仇 于 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

帖子

927

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
927
来自 17#
 楼主| 发表于 5 小时前 | 只看该作者
隐藏亮点被发现了
其实播放列表早已内置智能预读,连续播放无缝切换。大部分用户现在都用 播放列表添加 + 播放列表下一项 来播剧,流畅省心,完全替代了单文件加载方式。这功能原本没写在文档里,没想到被火伴们自己挖出来了!其实还有其他亮点!就看小伙伴们能不能发现了!

在这里我可以明确说播放列表预读功能和 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

主题

1612

帖子

6391

积分

金牌会员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

23

主题

335

帖子

3846

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3846
板凳
发表于 昨天 23:37 | 只看该作者
6666666666
回复

使用道具 举报

14

主题

181

帖子

3564

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3564
地板
发表于 昨天 23:50 | 只看该作者
6666666666666
回复

使用道具 举报

9

主题

358

帖子

2157

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
2157
5#
发表于 18 小时前 | 只看该作者
1111111111
回复

使用道具 举报

41

主题

549

帖子

3956

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3956
6#
发表于 10 小时前 | 只看该作者
感谢感谢感谢感谢!!!
一花一世界,一叶一菩提
回复

使用道具 举报

4

主题

579

帖子

3169

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3169
7#
发表于 10 小时前 | 只看该作者
感谢一下
回复

使用道具 举报

112

主题

968

帖子

7618

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
7618
8#
发表于 9 小时前 | 只看该作者
66666666
回复

使用道具 举报

54

主题

191

帖子

2746

积分

银牌会员

Rank: 6Rank: 6

积分
2746
9#
发表于 8 小时前 | 只看该作者
感谢大佬:噜阿噜
回复

使用道具 举报

0

主题

41

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
10#
发表于 8 小时前 | 只看该作者
支持支持
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-30 18:36 , Processed in 0.112860 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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