?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, TrackBarEx;
type
TVODForm = class(TForm)
Button1: TButton;
Panel1: TPanel;
OpenDialog1: TOpenDialog;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
RadioGroup1: TRadioGroup;
StatusBar1: TStatusBar;
Timer1: TTimer;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
TrackBar3: TTrackBar;
TrackBar4: TTrackBar;
CheckBox1: TCheckBox;
TB_Pos: TTrackBarEx;
Label1: TLabel;
OpenDialog2: TOpenDialog;
EditPass: TEdit;
Label6: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure TB_PosMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TB_PosMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
isMouseDown: Boolean;
public
{ Public declarations }
end;
var
VODForm: TVODForm;
implementation
uses funcUnit;
{$R *.dfm}
function MTimeToTimeStr( mTime : dWord ) : String;
var
HH,MM,SS : Word;
begin
HH:=mTime div 3600 ;
MM:=mTime - 3600 * HH;
SS:=MM mod 60;
MM:=MM div 60;
Result:=Format('%.2d:%.2d:%.2d',[HH,MM,SS]);
end;
procedure TVODForm.FormCreate(Sender: TObject);
begin
if InitDriverRm < 0 then
MessageBox(Handle,'沒有找到解壓卡,請安裝神龍解壓卡!',Pchar(Caption),MB_ICONINFORMATION);
SetVideoHandleRm(Panel1.Handle);
SetVideoWatchRm(True);
end;
procedure TVODForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
FreeDriverRm;
end;
procedure TVODForm.Button1Click(Sender: TObject);
var
ID : integer;
dwPos : integer;
begin
if OpenDialog1.Execute then
begin
SetPlayPassword(Pchar(EditPass.Text));
ID:=OpenFileRm(Pchar(OpenDialog1.FileName));
if ID >= 0 then
begin
dwPos:= GetMediaLengthRm();
StatusBar1.Panels[1].Text:= MTimeToTimeStr(dwPos div 1000);
TB_Pos.Max:=dwPos;
StatusBar1.Panels[7].Text:=inttostr(GetAudioTrackRm());
PlayFileRm;
end
else
begin
if ID=-200 then
begin
showmessage(format('歌曲加密,打開文件失敗,錯誤代碼[%d]!',[ID]));
EditPass.SetFocus;
end
else
showmessage(format('打開文件失敗,錯誤代碼[%d]!',[ID]));
end;
end;
end;
procedure TVODForm.Button2Click(Sender: TObject);
begin
PlayFileRm;
end;
procedure TVODForm.Button3Click(Sender: TObject);
begin
PauseFileRm;
end;
procedure TVODForm.Button4Click(Sender: TObject);
begin
StopFileRm;
end;
procedure TVODForm.Button5Click(Sender: TObject);
begin
CloseFileRm;
end;
procedure TVODForm.RadioGroup1Click(Sender: TObject);
begin
SelectAudioChannelRm(RadioGroup1.ItemIndex);
end;
procedure TVODForm.Timer1Timer(Sender: TObject);
var
dwPos : integer;
begin
dwPos:=GetPositionRm();
if isMouseDown=False then TB_Pos.Position:= dwPos;
StatusBar1.Panels[3].Text:= MTimeToTimeStr(dwPos div 1000);
////0:打開,1:播放,2:暫停,3:停止,4:結束,5:關閉
case GetMediaStateRm of
0 : StatusBar1.Panels[5].Text:= '打開';
1 : StatusBar1.Panels[5].Text:= '播放';
2 : StatusBar1.Panels[5].Text:= '暫停';
3 : StatusBar1.Panels[5].Text:= '停止';
4 : StatusBar1.Panels[5].Text:= '結束';
5 : StatusBar1.Panels[5].Text:= '關閉';
end;
end;
procedure TVODForm.TrackBar1Change(Sender: TObject);
begin
SetVolumeRm(TrackBar1.Position);
end;
procedure TVODForm.TrackBar2Change(Sender: TObject);
begin
SetB_S_CRm(TrackBar2.Position,TrackBar3.Position,TrackBar4.Position);
end;
procedure TVODForm.CheckBox1Click(Sender: TObject);
begin
SetVideoWatchRm(CheckBox1.Checked);
end;
procedure TVODForm.TB_PosMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
isMouseDown:=True;
end;
procedure TVODForm.TB_PosMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if isMouseDown then
begin
SetPositionRm(TB_Pos.Position);
end;
isMouseDown:=False;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -