在安防监控的视频系统中经常要用到录像回放的功能,但是厂家一般只提供按文件回放和按时间段回放功能,如果直接使用厂家提供的API进行应用功能开发,用户用起来会不太方便,引文文件名对用户来说并没有什么实际的意义。应该给用户提供一种方便的方式让用户很方便就知道一天里那个时间段有录像,然后很容易进行选择播放。
下图是一个根据时间进行录像回放的测试界面
图 录像时间条播放窗口
注:蓝色为一天之中有录像的时间段,黄色为正在播放的文件所在的时间段,红色刻度条为当前播放位置。
首先需要从视频服务器DVR中检索会录像文件,然后根据录像文件的起始和结束时间形成录像时间段。
拖动红色刻度条,则开始播放该刻度条所在范围内的视频文件,点击百分比,则显示该文件播放的百分比。
下图是时间播放条的基本静态类图结构。
图 时间播放条类图
TimeState是各种状态的父类,在该类中实现了绘制类图的基本方法和事件处理,各种子类实现各自特殊的绘制方法。
本来打算实现文件播放和时间刻度的精确对应,但是视频文件的起始时间和录像内容的起始时间不能精确对应,只好完成了24小时和百分比的播放控制。
Demo采用的视频服务器为海康DVR。