5、為了能同步顯示文本,需要編寫定時器OnTime事件的代碼,如果當前播放的時間超過了當前記錄的開始時間,則設置CurrentPlay為當前記錄號,如果CurrentPlay超過了CurrentDisp ,則顯示當前記錄。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
with MediaPlayer1 do
begin
if CurrentButton=btPlay then
begin
if not Table1.eof and (Position
$#@62;Table1.FIEldValues[STARTTIME])
then
begin CurrentPlay:=Table1.recno;
if CurrentPlay $#@62;=CurrentDisp then
begin
RichEdit1.Lines.add(Table1.fIEldvalues[TEXT]);
CurrentDisp:=CurrentDisp+1;
end;
Table1.Next;
end;
if Table1.eof then
begin
CurrentButton:=btStop;
isend:=true;
end;
end;
end;
end;
注:在MediaPlayer的click事件中,使用了btPrev,btNext等常量,為了能夠通過編譯,在uses子句中需將ComCtrls放在mPlayer之前,以免引起沖突。