用Delphi 制作播放器

2016-06-17 20:17刘世荣
电脑知识与技术 2016年11期
关键词:播放器

刘世荣

摘要:随着高清视频资源的日益丰富和用户对高清视频播放的需求,传统的播放器已不能满足高清视频播放的要求。以Windows XP作为开发平台,Delphi XE6为开发工具,采用FFOCX控件,编程实现播放音视频文件的功能是容易的。

关键词: Delphi;播放器;FFOCX控件

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)10-0182-03

Abstract:As the high-definition video resources increasingly rich and user demand for high-definition video playback, traditional players cannot meet the requirements of the hd video playback. In Windows XP as a development platform, Delphi XE6 as development tool, using FFOCX control, programming is easy to realize the function of play audio and video files.

Key words:Delphi; Player; FFOCX Control

随着互联网的快速发展和多媒体的广泛应用,FLV、MP4等已成为网络主流媒体格式,Window附带的Media Player播放器必须升级才能播放此类媒体,这给没有即时升级该播放器就希望直接使用的用户带来了困难,尽管暴风影音、QQ影音和迅雷等能播放此类媒体,但前提是所用电脑必须安装了此类播放器,而且该类播放器的体积较大[1]。针对此问题,作者在Delphi XE6(简称XE6)中利用FFmpeg的功能编写了一个能播放目前主流媒体格式的播放器,且体积小,运行效果好,开发成本低,能够满足用户需求。

FFmpeg 不仅编解码速度高,而且功能强大,即可以处理音频、视频,又可以用于录制和转换,目前得到了普遍的应用,许多流行的影音播放器是基于FFmpeg开发的。FFmpeg包含一组领先的音频、视频编码解码库,其编解码库名为 libavcodec[2]。由于FFmpeg是在Linux平台下开发的, Windows用户使用不方便。FFOCX是FFmpeg的ActiveX OCX(控件名:ActiveFFmpegControls.ocx)版,用户可以直接在Windows下使用。FFOCX工具包含有编解码模块,用户根据需要使用相应的模块,就可实现要求的功能。

具体环境:Windows XP简体中文版和Delphi XE6。

控件下载地址:http://www.ccavc.com/。

1 建立开发环境

开发播放器有两种方法:

方法一:开发一个能播放音视频文件的控件, 然后用此控件开发播放器。

方法二:利用第三方控件开发播放器。

采用第一种方法,除需要较多的专业知识外,开发周期较长;采用第二种方法,不仅控件有现存的,开发周期短,而且因为控件开发者较专业,质量可保证。因此本文采用第二种方法。

FFOCX控件是ActiveX控件,不包含在XE6中,因此不能在XE6中直接使用, XE6中必须正确安装才能使用。XE6中安装FFOCX控件的步骤如下:

1.1 注册控件

Windows中注册FFOCX控件是通过运行regsvr32命令来实现的。命令格式:

regsvr32 ActiveFFmpegControls.ocx。

若该控件不在当前目录下,还需指明该控件的路径。

1.2 XE6中添加FFOCX控件

(1) 启动XE6。

(2) 新建一个默认名为Package的包。

(3) 运行部件(Component)菜单下的导入部件(Import Component)命令,打开导入部件(Import Component)对话框。

(4) 选择导入ActiveX 控件(Import ActiveX Control)单选项,单击按钮,显示已注册的ActiveX 控件(Registered ActiveX Controls)对话框。

(5) 在Registered ActiveX Controls对话框的部件列表框中选择选项,如图1所示。

(6) 单击按钮,弹出部件存放位置对话框,选中复选框。

(7) 单击按钮,弹出“创建单元”(Create Unit)对话框,如图2所示。

(8) 选择单选项,单击按钮,完成安装。

(9) 鼠标右击XE6集成环境窗口的项目管理器中Package1,选择“Install”命令,完成Package1的安装。

FFOCX控件添加成功后就可以在XE6集成环境中使用该控件了,该控件位于XE6控件箱的ActiveX控件类中。

2 播放器的实现

2.1 播放器简介

一个简单的播放器不仅有播放音视频的窗口,还应有播放按钮、暂停按钮、停止按钮、快进按钮、音量调节按钮等,用以实现相应的功能。因此可将一个简单播放器的主要功能用两个模块来实现:

(1) 播放模块:设置播放区域实现播放。

(2) 控制模块:利用按钮元件实现包括播放、暂停、停止,以及音量控制等功能。

功能结构图如图3所示[3]。

2.2 设计播放器界面

(1) 新建一个基于VCL 窗体的应用程序,取名为MyofPlayer,窗体标题(caption)设为“Myplayer”,其项目名称为My_Of_Palyer。

(2) 在窗体上添加一个面板(Panel)控件(该面板为播放视频窗口),控件名称取默认值,标题(Caption)设为空,视频窗口不可调(即Pancel1的BorderStyle的属性设为bsSingle)。

(3) 在窗体上添加一个opendialog(打开文件)控件,用于打开文件选择对话框,名称默认。

(4) 添加三个Label(标签)控件,名称默认,其caption属性分别为“文件”和“音量”,Label2的caption属性用于显示文件位置。

(5) 添加四个Button(按钮)控件,名称分别为bt1、bt2、bt3和bt4。标题(Caption)属性分别设置为“打开”、“暂停”、“停止”和“快进”。

(6) 添加FFplayer控件(该控件位于工具箱的ActiveX类中),控件名(即Name属性)设置为FFPL,用于解码选择的音视频文件。

(7) 调整窗体和各控件的大小及位置,如图4所示。

2.3 各控件程序代码

(1) “打开”按钮程序代码

单击该按钮,能将打开的对话框中选择的音视频文件在指定位置显示并播放。

3 小结

以上简单介绍了怎样用FFOCX的功能去实现本地音视频文件的播放。FFOCX控件功能强大,不仅可播放本地文件 也可以播放远程的音视频文件,还可以浏览图片。此外,该控件还可实现录制。用户只要充分利用FFOCX的功能,就可以设计出属于自己的功能强大的多媒体播放器。

参考文献:

[1]向隅.PowerBuilder中使用OLE对象实现Flv视频文件的播放[J].东莞理工学院,2010,6(3):40-43

[2]苗健,许应康.基于FFmpeg的视频播放软件设计[J].现代电子技术,2015,38(12):83~84.

[3]邱秀荣,王小芬,陈磊.基于Flash的音乐播放器的设计与实现[J].电脑知识与技术,2015,11(33):137-138.

猜你喜欢
播放器
Windows11自带播放器使用技巧
播放器
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器设计
具有强大的4K播放能力 海美迪 Q5 Plus 4K HDR高清播放器
基于Kinect的PPT播放器的设计
Moon ACE播放器/放大器一体机
为你轻松构建点播影院 暴风私影 BFN51D8播控服务器及其播放器
高下立判,严苛测试见真章 4K播放器大角力
用Lingo编写Director课件屏幕自适应播放器