Qt音视频开发21-mpv内核万能属性机制

时间:2023-04-03 10:33:27

一、前言

搞过vlc内核后又顺带搞了搞mpv内核,mpv相比vlc,在文件数量、sdk开发便捷性方面绝对占优势的,单文件(可能是静态编译),不像vlc带了一堆插件,通过各种属性来set和get值,后面发现easyplayer内核也是参考这种机制来提供函数接口,这种只需要会通用的一个函数的用法就行,不需要每个功能都有不同的set和get函数,不用去查找对应的函数,只需要传属性字典表中的字符串和对应的值即可。

用mpv来读取文件的信息,以及设置当前播放进度,音量、静音等,和当时vlc封装的功能一样,只不过vlc是通过调用函数接口去处理,而mpv是通过读取和设置属性来处理,vlc支持定时器或者线程中函数方法去读取状态,也支持事件回调去拿到对应的状态改变,mpv当然也支持,而且还更方便,主要的工作量或者花费的时间在如何知道有哪些属性、分别是什么功能含义,这个在官方都列出来了 http://mpv.io/manual/master/#optionshttp://mpv.io/manual/master/#list-of-input-commandshttp://mpv.io/manual/master/#properties,不过都是英文就是,大部分程序员应该是没有什么难度的,大不了鼠标右键翻译成中文即可,哈哈,相信不少人都这么干过,很多浏览器默认就支持鼠标右键菜单翻