qwidget winid 使用_在优麒麟上使用MPV编写自己的播放器

本文介绍了如何在Ubuntu系统上利用Qt的QProcess结合MPV播放器,通过winid实现自定义播放器的基本功能,包括播放、暂停、停止、进度控制和音量调节。提供了一个名为mympvplayer的Qt应用示例,详细代码可在GitHub找到。
上一期,小编给大家简要介绍了MPV的配置和使用方法,虽然MPV功能强大,但默认情况下,MPV无GUI图形界面,用户需要通过命令行或者手动修改其配置文件达到配置MPV的目的,这样就给普通用户带来了诸多不便。为此,本文将介绍如何在优麒麟系统上使用Qt编写带UI图形的MPV播放器,使用户对快速定制具有图形界面的MPV播放器有一个大致的了解。

安装编程开发依赖包:

$ sudo apt install qtbase5-dev qt5-qmake qtscript5-dev qttools5-dev-tools

1、QProcess类为了实现一个既可以在Qt程序中控制MPV,又可以让Qt程序得到MPV的输出信息的播放器,这里重点介绍Qt的QProcess类。QProcess类可用来调用外部程序,并与外部程序进行通信。其把外部程序的进程当作一个有序的I/O设备,通过对I/O设备的读写来完成进程间的通信,即:write()函数实现对进程标准输入的写操作,通过read(),readLine()和getChar()函数实现对标准输出的读操作。在正常渠道模式下,QProcess的无名管道stdinChannelpipe,stdoutChannelpipe和stderrChannelpipe分别与标准输入、标准输出和标准容错进行绑定,实现与外部程序的通信;而在融合模式下,没有容错管道,此时,标准容错端和标准输出端将共同挂接到子进程的stdoutChannelpipe的写端来实现内外进程的通信,即标准输出和标准容错绑定到同一个管道的写端。本文介绍通过QProcess类调用MPV,并设置一系列播放参数,如视频驱动、音频驱动、软解/硬解、缓存等。至于Qt图形和MPV视频窗口的关联,则是使用“--wid widget->winId()”进行绑定,通过winId()可以获得一个数字,其中widget是一个QWidget对象,这样将界面上一个窗口的句柄给了MPV,即视频输出定位到了widget窗体部件中(wid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值