⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 vod控件可用于开发电脑点歌系统控制左右声道的转换
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, FmpPlayer, ExtCtrls;

type
  TVodForm = class(TForm)
    FileNameEdit: TEdit;
    ButtonOpen: TButton;
    Label1: TLabel;
    ProgressBar1: TProgressBar;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    TrackBar1: TTrackBar;
    TrackBar2: TTrackBar;
    TrackBar3: TTrackBar;
    TrackBar4: TTrackBar;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    OpenDialog1: TOpenDialog;
    FmpPlayer1: TFmpPlayer;
    StatesLabel: TLabel;
    RadioGroup1: TRadioGroup;
    StatusBar1: TStatusBar;
    Timer1: TTimer;
    procedure ButtonOpenClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure FmpPlayer1PositionChange(Sender: TObject; Position: Word);
    procedure FmpPlayer1ModeChange(Sender: TObject; StateMode: TStateMode);
    procedure RadioGroup1Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  VodForm: TVodForm;

implementation

{$R *.dfm}

procedure TVodForm.ButtonOpenClick(Sender: TObject);
begin
 if OpenDialog1.Execute then
  begin
    FileNameEdit.Text:=OpenDialog1.FileName;
  end;
end;

procedure TVodForm.Button1Click(Sender: TObject);
begin
 if Fileexists(FileNameEdit.Text)=False then
  begin
    Showmessage('文件不存在,请选择文件!');
    Exit;
  end;
  
 FmpPlayer1.FileName:=FileNameEdit.Text;
 FmpPlayer1.Open;
 
 if FmpPlayer1.FileType=mmVCDFile then
   StatusBar1.Panels[1].Text:='VCD格式'
 else
   StatusBar1.Panels[1].Text:='DVD格式';

 Case FmpPlayer1.AudioTrack of
   mmAudLeft:   Button6.Caption:='伴唱(左)';
   mmAudRight:  Button6.Caption:='伴唱(右)';
   mmAudStereo: Button6.Caption:='伴唱(混合)' ;
 end;  

end;

procedure TVodForm.Button2Click(Sender: TObject);
begin
 FmpPlayer1.Play; 
end;

procedure TVodForm.Button3Click(Sender: TObject);
begin
 FmpPlayer1.Pause;
end;

procedure TVodForm.Button4Click(Sender: TObject);
begin
FmpPlayer1.Stop;
end;

procedure TVodForm.Button5Click(Sender: TObject);
begin
FmpPlayer1.Close;
end;

procedure TVodForm.Button6Click(Sender: TObject);
begin
 FmpPlayer1.audioSwitch;
 Case FmpPlayer1.AudioTrack of
   mmAudLeft:   Button6.Caption:='伴唱(左)' ;
   mmAudRight:  Button6.Caption:='伴唱(右)';
   mmAudStereo: Button6.Caption:='伴唱(混合)' ;
 end;

end;

procedure TVodForm.TrackBar1Change(Sender: TObject);
begin
  Case ( Sender as TComponent).Tag of
    1 : FmpPlayer1.Saturation :=(Sender as TTrackBar).Position;
    2 : FmpPlayer1.Contrast   :=(Sender as TTrackBar).Position;
    3 : FmpPlayer1.Brightness :=(Sender as TTrackBar).Position;
    4 : FmpPlayer1.Volume     :=(Sender as TTrackBar).Position;
  end;

end;

procedure TVodForm.FmpPlayer1PositionChange(Sender: TObject; Position: Word);
begin
 ProgressBar1.Position := Position;

end;

procedure TVodForm.FmpPlayer1ModeChange(Sender: TObject;
  StateMode: TStateMode);
begin

 case StateMode of
   mmPaused : StatesLabel.Caption:='暂停';
   mmPlaying: StatesLabel.Caption:='播放';
   mmStopped: StatesLabel.Caption:='待播';
   mmSeeking: StatesLabel.Caption:='定位';
   mmStepping: StatesLabel.Caption:='单步';
   mmReady:    StatesLabel.Caption:='就绪';
   mmUnknown:  StatesLabel.Caption:='关闭';
 end;

end;

procedure TVodForm.RadioGroup1Click(Sender: TObject);
begin
FmpPlayer1.OpenMode:=TOpenMode(RadioGroup1.ItemIndex);
end;

procedure TVodForm.Button7Click(Sender: TObject);
begin
showmessage(FmpPlayer1.About);
end;

procedure TVodForm.FormCreate(Sender: TObject);
begin
 if FmpPlayer1.OpenDriveOk=False then
   StatesLabel.Caption :='驱动装载错误'
 else
   StatesLabel.Caption :='驱动打开成功';
end;

procedure TVodForm.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[3].Text:=Format('%d',[FmpPlayer1.Position]);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -