?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Db, DBTables, ComCtrls, MPlayer;
type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
RichEdit1: TRichEdit;
RadioGroup1: TRadioGroup;
Table1: TTable;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
isend:Boolean;
CurrentButton:TMPBtnType;
CurrentPlay,CurrentDisp:longint;
implementation
{$R *.DFM}
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;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
MediaPlayer1.Close;
Table1.Close;
case radiogroup1.ItemIndex of
0:begin MediaPlayer1.FileName:='ex1.wav';
Table1.TableName:='ex1.dbf';
end;
1:begin MediaPlayer1.FileName:='ex2.wav';
Table1.TableName:='ex2.dbf';
end;
2:begin MediaPlayer1.FileName:='ex3.wav';
Table1.TableName:='ex3.dbf';
end;
end;
Table1.Open; MediaPlayer1.Open;
end;
procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
DoDefault:=False;
with MediaPlayer1 do
begin
case Button of
btPlay : begin
if isend=true then
begin
Table1.first;
Position:=start;
CurrentPlay:=1;
CurrentDisp:=1;
isend:=False;
RichEdit1.lines.clear;
RichEdit1.lines.add('演講內容');
end;
CurrentButton:=btPlay;
end;
btStop :
begin
CurrentButton:=btStop;
isend:=true;
end;
btpause:
if CurrentButton=btPlay then
CurrentButton:=btpause
else if CurrentButton=btpause then
CurrentButton:=btPlay;
btPrev: begin CurrentButton:=btPrev;
Table1.Prior;
Position:=Table1.fieldvalues
['STARTTIME'];
CurrentButton:=btPlay;
end;
btBack: begin CurrentButton:=btBack;
Table1.first;
Position:=start;
CurrentPlay:=1;
CurrentDisp:=1;
RichEdit1.lines.clear;
RichEdit1.lines.add('演講內容');
CurrentButton:=btPlay;
end;
btNext: begin CurrentButton:=btNext;
Table1.Next;
Position:=Table1.fieldvalues['STARTTIME'];
CurrentButton:=btPlay;
end;
end;
case CurrentButton of
btPlay: Play;
btpause:pause;
btStop:Stop;
end;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
with MediaPlayer1 do
begin
if CurrentButton=btPlay then
begin
if not Table1.eof and (Position>Table1.FieldValues['STARTTIME']) then
begin CurrentPlay:=Table1.recno;
if CurrentPlay >=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;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -