📄 maindemo_.pas
字号:
procedure TForm1.Button3Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
Edit1.Text := 'http://www.Datastead.com/amovie/demo.mpeg';
ActiveMovie1.FileName := Edit1.Text;
ActiveMovie1.Open;
end;
//------------------------------------------------------------------------------
procedure TForm1.Button4Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
TrackBar2.Position := 400;
TrackBar2.OnChange (Self);
end;
//------------------------------------------------------------------------------
procedure TForm1.Button5Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
TrackBar6.Position := 20; // the middle between Min and Max
TrackBar6Change (Self);
TrackBar7.Position := 20;
TrackBar7Change (Self);
end;
//------------------------------------------------------------------------------
procedure TForm1.Button6Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
TrackBar3.Position := 100;
ActiveMovie1.ZoomSize := 100;
end;
//------------------------------------------------------------------------------
procedure TForm1.SpeedButton1Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
OpenDialog1.Filter := 'video clips';
OpenDialog1.FileName := '*.mpg;*.mpeg;*.avi;*.wav;*.mp3;*.asf;*.wmv;*.vob';
if OpenDialog1.Execute then begin
Edit1.Text := OpenDialog1.FileName;
ActiveMovie1.FileName := Edit1.Text;
ActiveMovie1.Open;
end;
end;
//------------------------------------------------------------------------------
procedure TForm1.SpeedButton2Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.Pause;
end;
//------------------------------------------------------------------------------
procedure TForm1.SpeedButton3Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.Stop;
end;
//------------------------------------------------------------------------------
procedure TForm1.SpeedButton4Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.Play;
end;
//------------------------------------------------------------------------------
procedure TForm1.SpeedButton7Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.PlayBackwards;
end;
//------------------------------------------------------------------------------
procedure TForm1.SpeedButton5Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.FastReverse2 (10);
end;
//------------------------------------------------------------------------------
procedure TForm1.SpeedButton6Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.FastForward2 (10);
end;
//------------------------------------------------------------------------------
procedure TForm1.TrackBar1Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.Volume := - TrackBar1.Position * 200;
end;
//------------------------------------------------------------------------------
procedure TForm1.TrackBar2Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
// The speed rate is a Double value.
// - normal speed = 1
// - half-speed = 0.5
// - 1 1/2 speed = 1.5
// - etc...
ActiveMovie1.Rate := 0.5 + ((TrackBar2.Max - TrackBar2.Position) / 200); // Max - Position to reverse direction
end;
//------------------------------------------------------------------------------
procedure TForm1.TrackBar3Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
if (TrackBar1.Tag = 0) and (ActiveMovie1.OpenState = nsOpen) and ((ActiveMovie1.ShowControls) or (ActiveMovie1.DisplaySize <> mpCustomSize)) then begin
TrackBar1.Tag := 1;
ShowMessage ('to use the zoom, disable ShowControl and set DisplaySize to mpCustomSize');
end
else begin
ActiveMovie1.ZoomSize := TrackBar3.Position;
end;
end;
//------------------------------------------------------------------------------
procedure TForm1.TrackBar4Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.Balance := (25 - TrackBar4.Position) * 400;
end;
//------------------------------------------------------------------------------
procedure TForm1.TrackBar5Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
if TrackBar5.Tag = 0 then begin
ActiveMovie1.TimePosition := TrackBar5.Position * ActiveMovie1.TotalTime / TrackBar5.Max;
end;
end;
//------------------------------------------------------------------------------
procedure TForm1.TrackBar6Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.ScrollVert (TrackBar6.Min, TrackBar6.Position, TrackBar6.Max);
end;
//------------------------------------------------------------------------------
procedure TForm1.TrackBar7Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.ScrollHorz (TrackBar7.Min, TrackBar7.Position, TrackBar7.Max);
end;
//------------------------------------------------------------------------------
procedure TForm1.CheckBox1Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.FullScreenMode := CheckBox1.Checked;
end;
//------------------------------------------------------------------------------
procedure TForm1.CheckBox2Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.ShowControls := CheckBox2.Checked;
CheckBox2.Checked := ActiveMovie1.ShowControls; // loopback if ShowControls rejected
end;
//------------------------------------------------------------------------------
procedure TForm1.CheckBox3Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.DisplayLogo := CheckBox3.Checked;
end;
//------------------------------------------------------------------------------
procedure TForm1.CheckBox4Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.AutoStart := CheckBox4.Checked;
end;
//------------------------------------------------------------------------------
procedure TForm1.CheckBox5Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.ShowScrollBars := CheckBox5.Checked;
end;
//------------------------------------------------------------------------------
procedure TForm1.CheckBox6Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.Visible := CheckBox6.Checked;
end;
//------------------------------------------------------------------------------
procedure TForm1.RadioGroup1Click(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.DisplaySize := TDisplaySize (RadioGroup1.ItemIndex);
RadioGroup1.ItemIndex := Integer (ActiveMovie1.DisplaySize); // loopback
end;
{$IFNDEF VER140} // StrToFloatDef was introduced with D6
function StrToFloatDef(const S: string; const Default: Extended): Extended;
begin
if not TextToFloat(PChar(S), Result, fvExtended) then
Result := Default;
end;
{$ENDIF VER140}
//------------------------------------------------------------------------------
procedure TForm1.Edit2Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.SelectionStart := StrToFloatDef (Edit2.Text, -1);
end;
//------------------------------------------------------------------------------
procedure TForm1.Edit3Change(Sender: TObject);
//------------------------------------------------------------------------------
begin
ActiveMovie1.SelectionEnd := StrToFloatDef (Edit3.Text, -1);
end;
//------------------------------------------------------------------------------
procedure TForm1.SetAnchorsIfNotD3OrBCB3;
//------------------------------------------------------------------------------
begin
// the anchors are programmatically set here according to the Delphi or BCB version
// because these properties did not exist in Delphi3 or BCB 3
{$IFNDEF VER100}
Edit1.Anchors := [akLeft, akRight, akTop];
GroupBox4.Anchors := [akRight, akTop];
RadioGroup1.Anchors := [akRight, akTop];
GroupBox1.Anchors := [akRight, akTop];
BitBtn1.Anchors := [akRight, akTop];
TrackBar2.Anchors := [akRight, akTop, akBottom];
Label2.Anchors := [akRight, akBottom];
Button4.Anchors := [akRight, akBottom];
TrackBar6.Anchors := [akRight, akBottom];
Button5.Anchors := [akRight, akBottom];
TrackBar1.Anchors := [akLeft, akTop, akBottom];
TrackBar4.Anchors := [akLeft, akTop, akBottom];
Label3.Anchors := [akLeft, akBottom];
Label1.Anchors := [akLeft, akBottom];
Button6.Anchors := [akLeft, akBottom];
Label18.Anchors := [akLeft, akBottom];
TrackBar3.Anchors := [akLeft, akRight, akBottom];
Label19.Anchors := [akLeft, akBottom];
TrackBar5.Anchors := [akLeft, akRight, akBottom];
Label14.Anchors := [akRight, akBottom];
Button5.Anchors := [akRight, akBottom];
TrackBar7.Anchors := [akRight, akBottom];
ActiveMovie1.Anchors := [akLeft, akRight, akTop, akBottom];
{$ENDIF VER100}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -