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

📄 shipinunit.pas

📁 基于delphi媒体播放器的源代码 很全面
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit shipinunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, CheckLst, jpeg, OleCtrls,
  RealAudioObjects_TLB, Menus, ComCtrls, Buttons,pubunit,shellapi, ImgList;

type
  Tshipinform = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    CheckListBox1: TCheckListBox;
    Image1: TImage;
    pnull: TPopupMenu;
    bofangshipin: TPopupMenu;
    GroupBox3: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    N2: TMenuItem;
    N3: TMenuItem;
    plist: TPopupMenu;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    BitBtn6: TBitBtn;
    biaoti: TPanel;
    Timer1: TTimer;
    OpenDialog1: TOpenDialog;
    N11: TMenuItem;
    GroupBox1: TGroupBox;
    add: TBitBtn;
    del: TBitBtn;
    RadioGroup1: TRadioGroup;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Timer2: TTimer;
    RealAudio1: TRealAudio;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Bevel1: TBevel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    Edit4: TEdit;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    Edit5: TEdit;
    Timer3: TTimer;
    BitBtn7: TBitBtn;
    GroupBox4: TGroupBox;
    TrackBar1: TTrackBar;
    N16: TMenuItem;
    procedure FormShow(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn6Click(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure RealAudio1Buffering(ASender: TObject; lFlags,
      lPercentage: Integer);
    procedure openfile();
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure delClick(Sender: TObject);
    procedure addClick(Sender: TObject);
    procedure time_edit();
    procedure  new_time();
    procedure Timer1Timer(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RealAudio1StateChange(ASender: TObject; lOldState,
      lNewState: Integer);
    procedure CheckListBox1DblClick(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure DragFileProc(var Message: TMessage);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure Timer3Timer(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
  private
    { Private declarations }
    procedure wmgetminmaxinfo(var msg:Twmgetminmaxinfo);message wm_getminmaxinfo;
  public
    { Public declarations }
    zuixiaohua:Boolean;
  end;

var
  shipinform: Tshipinform;
  spkzend:Boolean;
  opentag:Boolean;
  tlend:integer;
  tlen:integer;
  ts2:string;
  bfshi:integer;
  sudu:integer;
  OLDWndProc: TWndMethod;
  cltag:Boolean;

implementation
uses unit1,unit5,shezhi,openunit;

{$R *.dfm}

procedure Tshipinform.FormShow(Sender: TObject);
begin
shipinform.Left:=GetSystemMetrics(sm_cxscreen)div 2 - 217;
shipinform.Top:=GetSystemMetrics(sm_cyscreen)div 2 - 208;
zuixiaohua:=True;
cltag:=false;
end;

procedure Tshipinform.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;

procedure Tshipinform.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;

procedure Tshipinform.BitBtn6Click(Sender: TObject);
begin
form1.Show;
spkzend:=false;
cltag:=true;
form1.shipin.Visible:=true;
BitBtn4.Click;
zuixiaohua:=false;
shipinform.Close;
end;

procedure Tshipinform.wmgetminmaxinfo(var msg:Twmgetminmaxinfo);
begin
  with msg.MinMaxInfo^ do
    begin
      ptMaxSize.X := 433; {最大化时宽度}
      ptMaxSize.Y := 416; {最大化时高度}
      ptMaxPosition.X := shipinform.Left; {最大化时左上角横坐标}
      ptMaxPosition.Y := shipinform.Top; {最大化时左上角纵坐标}
      ptMinTrackSize:=point(433,416);
      ptMaxTrackSize:=point(433,416);
    end;
end;

procedure Tshipinform.FormResize(Sender: TObject);
begin
shipinform.Top:=form1.Top;
shipinform.Left:=form1.Left-40;
end;

procedure Tshipinform.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
if cltag=true then
  
else
Application.Terminate;
end;

procedure Tshipinform.FormCreate(Sender: TObject);
begin
cltag:=false;
DragAcceptFiles(shipinform.CheckListBox1.Handle, True);
OLDWndProc := shipinform.checklistbox1.WindowProc;
shipinform.CheckListBox1.WindowProc:=DragFileProc;
bfshi:=0;
shipinform.Top:=form1.Top;
shipinform.Left:=form1.Left-shipinform.Width;
try
  CheckListBox1.Items.LoadFromFile(ExtractFileDir(Application.ExeName)+'\mpgp.dll');
except
  begin
            form5.Label1.Caption:='所需文件不存在! ';
            form5.ShowModal;
  end;
end;
if CheckListBox1.Count<>0 then
  begin
    CheckListBox1.ItemIndex:=0;
  end;
Timer3.Enabled:=true;
end;

procedure Tshipinform.RealAudio1Buffering(ASender: TObject; lFlags,
  lPercentage: Integer);
begin
biaoti.Visible:=false;
end;

procedure tshipinform.openfile;
begin
  if (pos('.rm',OpenDialog1.FileName)<>0)or(pos('.ram',OpenDialog1.FileName)<>0)or(pos('.ra',OpenDialog1.FileName)<>0)or (pos('.avi',OpenDialog1.FileName)<>0)or (pos('.RM',OpenDialog1.FileName)<>0)or(pos('.RAM',OpenDialog1.FileName)<>0)or(pos('.RA',OpenDialog1.FileName)<>0)or (pos('.AVI',OpenDialog1.FileName)<>0)then
    begin
      CheckListBox1.Items.Add(OpenDialog1.FileName);
      CheckListBox1.Items.SaveToFile(ExtractFileDir(Application.ExeName)+'\mpgp.dll');
    end
  else
    begin
      form5.Label1.Caption:='不能识别该类型文件! ';
      form5.ShowModal;
      abort;
    end;
end;

procedure Tshipinform.BitBtn1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
  openfile;
  RealAudio1.Source:=OpenDialog1.FileName;
  try
    RealAudio1.DoPlay;
    opentag:=true;
  except
    begin
        opentag:=false;
        RealAudio1.Source:='';
        RealAudio1.DoStop;
        form5.Label1.Caption:='播放文件时发生错误! ';
        form5.ShowModal;
        abort;
    end;
  end;
  new_time;
  tlend:=0;
  Timer1.Enabled:=true;
  CheckListBox1.ItemIndex:=CheckListBox1.ItemIndex+1;
end;
end;

procedure Tshipinform.BitBtn3Click(Sender: TObject);
begin
if opentag=true then
  begin
    RealAudio1.DoPause;
    BitBtn3.Font.Color:=clred;
    BitBtn2.Font.Color:=clGreen;
  end;
end;

procedure Tshipinform.BitBtn2Click(Sender: TObject);
begin
if Timer2.Enabled=true then
Timer2.Enabled:=false;
if CheckListBox1.Count<>0 then
begin
if BitBtn3.Font.Color<>clred then
  begin
    RealAudio1.DoStop;
    RealAudio1.Source:=CheckListBox1.Items.Strings[integer(CheckListBox1.ItemIndex)];
    try
      RealAudio1.DoPlay;
      opentag:=true;
    except
      begin
        opentag:=false;
        RealAudio1.Source:='';
        RealAudio1.DoStop;
        form5.Label1.Caption:='播放文件时发生错误! ';
        form5.ShowModal;
        abort;
      end;
    end;
    new_time;
    tlend:=0;
    Timer1.Enabled:=true;
  end
else
RealAudio1.DoPlayPause;
BitBtn3.Font.Color:=clGreen;
BitBtn2.Font.Color:=clred;
end
else
  begin
        form5.Label1.Caption:='没有播放文件! ';
        form5.ShowModal;
  end;
end;

procedure Tshipinform.BitBtn4Click(Sender: TObject);
begin
Timer2.Enabled:=false;
RealAudio1.DoStop;
RealAudio1.CanStop;
BitBtn2.Font.Color:=clgreen;
BitBtn3.Font.Color:=clgreen;
opentag:=false;
tlend:=0;
time_edit;
edit1.Text:='00:00:00';
Timer1.Enabled:=false;
end;

procedure Tshipinform.N5Click(Sender: TObject);
begin
add.Click;
end;

procedure Tshipinform.N6Click(Sender: TObject);
begin
BitBtn1.Click;
end;

procedure Tshipinform.N8Click(Sender: TObject);
begin
del.Click;
end;

procedure Tshipinform.N9Click(Sender: TObject);
begin
CheckListBox1.Clear;
CheckListBox1.Items.SaveToFile(ExtractFileDir(Application.ExeName)+'\mpgp.dll');
end;

procedure Tshipinform.N11Click(Sender: TObject);
begin
  RealAudio1.Source:=CheckListBox1.Items.Strings[integer(CheckListBox1.ItemIndex)];
try
  RealAudio1.DoPlay;
  opentag:=true;
except
  begin
    opentag:=false;
    RealAudio1.Source:='';
    RealAudio1.DoStop;
    form5.Label1.Caption:='播放文件时发生错误! ';
    form5.ShowModal;
    abort;
  end;
end;
end;

procedure Tshipinform.delClick(Sender: TObject);
var
  jlcount:integer;
begin
jlcount:=CheckListBox1.ItemIndex;
CheckListBox1.DeleteSelected;
CheckListBox1.Items.SaveToFile(ExtractFileDir(Application.ExeName)+'\mpgp.dll');
if jlcount=CheckListBox1.Count then
CheckListBox1.ItemIndex:=jlcount-1
else
CheckListBox1.ItemIndex:=jlcount;
end;

⌨️ 快捷键说明

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