专栏首页微卡智享【超级干货】Delphi轮播视频和图片程序(用于双屏显示程序)

【超级干货】Delphi轮播视频和图片程序(用于双屏显示程序)

前言

前面一章我们学习了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-

本文分享自微信公众号 - 微卡智享(VaccaeShare),作者:Vaccae

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++ OpenCV实现视频播放位置跳转

    前面我们学习了OpenCV通过VideoCapture类进行视频播放,并且加入了随机的播放时间一些小的知识。今天我们在视频播放的基础上实现播放位置的跳转。我们这...

    Vaccae
  • C++ OpenCV播放视频及调用摄像头显示

    前一篇我们介绍了 《C++ OpenCV摄像头及视频操作类VideoCapture介绍》,我们现在就针对这个类里的API进行DEMO的演示。

    Vaccae
  • C++ OpenCV视频操作之背景消除建模(BSM)-1

    前面我有几章是专门设置怎么读取视频操作的文章《C++ OpenCV播放视频及调用摄像头显示》,最近学完了一些形态学的基础操作及特征提取后,我们开始重新学习视频一...

    Vaccae
  • 5G时代探索互动立体视频信息承载的新可能

    大家好,本次我分享的主题是5G时代的互动视频——探索从平面到三维视频信息表达的新可能。

    LiveVideoStack
  • 刷课(刷剧)神器!给网页视频加个速(最快可达16倍!)

    油猴脚本地址:https://greasyfork.org/zh-CN/scripts/30879-bye-flash-hello-html...

    zhaoolee
  • 美摄SDK助力OPPO R15,上线相册“回忆”功能

    近日,OPPO R15曝光其外观设计及存储配置等信息,并在系统上做出了大幅调整,虽然新机搭载的ColorOS 5.0尚未公布更多细节,但在3月初公测的Color...

    BestSDK
  • 质量三维论如何持续推进腾讯视频播放体验提升

    大家好,我是来自腾讯视频的李大龙。今天我将从以下几个方面为大家分享腾讯视频如何以质量三维论来持续推进视频播放体验的提升。

    LiveVideoStack
  • 网站搭建-django-学习成绩管理-04-第1个页面开发准备

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3....

    zishendianxia
  • 学界 | OpenAI竞争性自我对抗训练:简单环境下获得复杂的智能体

    机器之心编译 选自:OpenAI 参与:蒋思源、刘晓坤 OpenAI 近日表示通过自我对抗训练的竞争性多智能体可以产生比环境本身复杂得多的行为。该研究基于 Do...

    机器之心
  • python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法

    最常用的就是创建 Widget(通用窗口) 和 MainWindow(主窗口), 这里我们创建一个 MainWindow.

    砸漏

扫码关注云+社区

领取腾讯云代金券