Qt实现视屏播放器(尾篇)-Bug修复、封装打包、编程感悟篇

本篇是将此前实现的具有基本功能的视频播放器作进一步的完善,主要是修复一波之前出现的一些小问题(使用过程中发现的),对程序进行打包(生成一键安装包),编程过程中的一些感悟等

Bug主要是自己在使用的过程中遇见的一些问题,这里实际上有一个解码的概念,因为Qt编写的视频播放程序默认的视频格式是m3u,实际的视频未必能够满足,因此,需要一个转码,将视频转为m3u格式进行播放

下载一个转码软件包即可,这个软件包是可以配合Qt程序使用的,直接点击安装,在此运行程序就没有上图所示的问题了,官方链接如下

LAV-Filter官方下载链接

第二个Bug问题是,准确的表达应该不能算Bug,只是控制的实现方式调用的属性有问题,表现在停止按钮,此按钮应当实现暂停功能,但是不同的属性设置却又出现不同的效果

void MainWindow::on_stop_clicked()
{
    m_playerState = QMediaPlayer::StoppedState;
    /*
     *
    player->stop();

     *
     */
    player->pause();
}
player->stop();
player->pause();

前者是重新返回视频流的头部,点击播放时重头开始,而后者才是真正的意义上的暂停,所以修复一波这个所谓的Bug吧!

最后则是封装打包的实现,实际上之前使用Pyqt5的时候已经提过这个功能的实现,需要一个软件,即“Inno Setup”,今天的收获是,对这个软件的打包有了一个新的理解

打包必须将.exe文件及其所需的依赖文件全部包括才行,如果.exe文件不能够获得其所需的依赖文件成功的运行,那么打包之后将也无法运行(可以安装成功:亲测)

打包实际上就是一种包装形式,类似于容器形式,附加一下安装实现步骤,即应用软件的常规安装操作和原理

这里需要以release模式编译程序,将生成的.exe文件放入打包文件夹,安装依赖文件导入支持

支持包下载官方链接

实际上貌似Qt自带一种打包程序集成环境

具体的操作流程参考博友的博客: fengMisaka ,感谢!

余下的就是Inno Setup的使用,简单方便,需要的可以自己尝试一波,以上就是视频播放器的实现最后的完善了

功能不是很强,主要是体验一波Qt的应用功能在这方面的体现,暂且算个可接受的“应用软件吧”🙃

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注


皖ICP备2021003932号
召唤伊斯特瓦尔