首页 / 软件开发 / Delphi / 使用DELPHI实现文本文件显示和声音同步
使用DELPHI实现文本文件显示和声音同步2010-01-27在一些语言教学软件中,经常使用文本显示和声音同步播放,我们可以用DELPHI实现之。一、材料的制作首先,我们选择几篇文章,这里我们选择马丁路德金、林肯和里根的演说,每一篇文章分为若干句,在制作声音文件时,记下每个句子的开始时间和结束时间,然后将其记到一个数据表中,这个表有如下字段:NO、TEXT、STARTTIME,分别表示每句序号、内容、开始时间。二、界面的制作在DELPHI中创建一个新工程,在FORM中放入多媒体控件,RTF编辑器,命令按钮,单选分组框,数据表,时钟和标签,如图所示三、各个控件的属性1、多媒体控件的AutoEnable和AutoOpen特性设置为False ,VisibleButtons特性设置Record、Eject、Step为不可见。2、Table控件的DatabaseName设为存放表的目录,我们将应用程序、声音文件和表存放在myprog目录,因此这里将DatabaseName设为c:myprog,将TableName设为默认的播放文件对应的数据表的名字,这里设为ex1.dbf。3、Radiogroup控件的Caption设为 ‘请选择播放内容’,Itmes特性中加上三行:马丁路德金,林肯,里根。4、Richedit控件的Lines特性加上‘演讲内容。四、代码的编写1、变量声明var isend:Boolean;
CurrentButton:TMPBtnType;
CurrentPlay,CurrentDisp:longint;
其中isend表示播放是否已经到了末尾,CurrentButton表示当前MediaPlayer元件中按下了哪个按钮,CurrentPlay ,CurrentDisp表示当前播放记录及当前显示记录。2、在FormCreate事件中做一些必要的准备工作,其代码如下:procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.TableName:=ex1.dbf; Table1.Open;
MediaPlayer1.FileName:=ex1.wav;MediaPlayer1.Open;
MediaPlayer1.TimeFormat:=tfMilliseconds;
isend:=False;
CurrentButton:=btStop;
CurrentDisp:=1;
CurrentPlay:=1;
end;