前言
前面一章我们学习了delphi 使用windowsmediaplayer播放视频,这次我们直接用实战演练,文章的最后我会把源码的下载地址放上。我们今天来做一个程序,一般双屏的POS机副屏都要播放一些广告,其中图片和视频居多,所以我们今天开发一个双屏播放的程序,支持播放视频和图片。
视频效果
我们在运行程序下有两个文件夹,JPG是图片存放的路径,VIDEO是视频存放的路径,上面视频播放的就是我们在这两个文件夹下放至的图片和视频文件。
图片文件放到JPG文件夹下,只支持JPG格式
视频文件放到VIDEO文件夹下,支持mp4和wmv格式的
解决思路
双屏播放的原理来说很简单,就是系统里面设置了双屏后,我们一般第二屏设置都用扩展到第二显示器上,说白了就是当设置的播放位置超出来主屏幕后就会在第二屏上显示出来。
所以我们设置程序的时候加入一个主屏的分辨率设置,这样设置好了,第二屏的显示直接从超过的主屏分辨率显示即可。
代码演示
我们新建一个程序起名为SumScreen
参数设置里面加上主副屏的辨率设置,然后加入一个RadioGroup用于选择是视频播放还是图片播放,下面有两行提示,就是我们的视频源和图片源存放位置。最后加一个保存按钮,每次保存设置后只要重启就可以自动播放了。
单元文件Unit SysCfg
我们建一个单元文件SysCfg,这个是存放刚才的参数的,保存后用于写入本地的INI文件里,方便下次读取
先定义一个Record的结构存放参数。
然后加入三个方法,一个是读取参数,一个是保存参数,再有一个就是写入日志,如果运行中有什么错误会写入本地的日期文件,具体的方法如下:
核心代码 ScreenDisPlay
这个是处理我们播放视频的单元文件,在窗体上我们加入一个Window Media Player,注册这个控件见文章开头那篇链接。一个panel里面加上Image图片的控件。还有一个重要的加入一个TFileListBox的控件,用于加载我们的文件夹下的文件。再就是一个时间控件,用于定时刷新图片和控制视频的播放
在Privide里面定义了一些参数和方法
定义器里的方法
窗体加载时我们在读取本地文件用于处理播放
视频窗口大小调整事件
播放下一个视频
这里我只是把几个重点的方法贴了上面,具体的所有程序运行可以看下面的我们的源码地址。
源码下载地址:
链接:https://pan.baidu.com/s/1UMKozTnK8eJT57x5a65d6w 密码:r97u
-END-