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

📄 main.pas

📁 一款功能非常强大的mp3播放器
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ScrollText, SUIButton, Menus, SUIPopupMenu,
  SUIMainMenu, SUIForm, ExtCtrls, SUIImagePanel, CheckLst, SUICheckListBox,
  SUIListBox, OleCtrls, WMPLib_TLB, MultCardActiveXControl1_TLB;

type
  TForm1 = class(TForm)
    suiForm1: TsuiForm;
    Panel1: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    suiButton1: TsuiButton;
    suiButton2: TsuiButton;
    suiButton3: TsuiButton;
    suiButton4: TsuiButton;
    suiButton5: TsuiButton;
    suiButton6: TsuiButton;
    suiButton7: TsuiButton;
    suiButton8: TsuiButton;
    suiButton9: TsuiButton;
    suiButton10: TsuiButton;
    text: TScrollText;
    Panel9: TPanel;
    Splitter1: TSplitter;
    suiPanel1: TsuiPanel;
    suiListBox1: TsuiListBox;
    suiPanel2: TsuiPanel;
    OpenDialog1: TOpenDialog;
    OpenDialog2: TOpenDialog;
    suiPopupMenu1: TsuiPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N19: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    suiPopupMenu2: TsuiPopupMenu;
    N20: TMenuItem;
    N21: TMenuItem;
    suiCheckListBox1: TsuiCheckListBox;
    N22: TMenuItem;
    N23: TMenuItem;
    play: TWindowsMediaPlayer;
    Timer1: TTimer;
    Timer2: TTimer;
    N24: TMenuItem;
    procedure suiButton10Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure suiCheckListBox1DblClick(Sender: TObject);
    procedure suiButton4Click(Sender: TObject);

    procedure N23Click(Sender: TObject);
    procedure suiButton6Click(Sender: TObject);
 

    procedure Timer1Timer(Sender: TObject);
    procedure suiButton3Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure suiButton1Click(Sender: TObject);
    procedure suiButton5Click(Sender: TObject);
    procedure suiButton8Click(Sender: TObject);
    procedure suiButton7Click(Sender: TObject);
    procedure suiButton9Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure suiButton2Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N24Click(Sender: TObject);

  private

    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  kuo:string;



implementation

uses play, main3, Unit4;

{$R *.dfm}
procedure play2(files:string); //函数一
begin
     form1.play.controls.stop;
     form2.sing.URL:=files;
     form2.sing.controls.play;
     form2.Show;
     form1.Panel7.Caption:='播放';
     form1.Timer1.Enabled:=false;
     form1.Timer2.Enabled:=true;
     form2.sing.Visible:=true;
     form1.play.Visible:=false;
end;
procedure playplay(files:string); //函数二
begin
form2.sing.controls.stop;
form2.Close;
form1.play.URL:=files;
form1.play.controls.play;

form1.play.Visible:=true;
form1.Panel7.Caption:='播放';
form1.Timer2.Enabled:=false;
form2.sing.Visible:=false;
form1.Timer1.Enabled:=true;

end;

procedure TForm1.suiButton10Click(Sender: TObject); //退出程序
begin
close;
end;

procedure playlist(files:string);
begin
kuo:=AnsiLowerCase(ExtractFileExt(files));
 if kuo='.wmv' then
    play2(files)
else if kuo='.avi' then
    play2(files)
else if kuo='.mpg' then
    play2(files)
else if kuo='.mpeg' then
    play2(files)
else if kuo='.dat' then
    play2(files)
else if kuo='.rm' then
    play2(files)
else if kuo='.rmvb' then
    play2(files)
else if kuo='.mp3' then
    playplay(files)
else if kuo='.wma' then
    playplay(files)
else if kuo='.wav' then
    playplay(files)
else if kuo='.mid' then
    playplay(files)
else if kuo='.midi' then
   playplay(files)
else if kuo='.jpg' then
   playplay(files)
else if kuo='.jpeg' then
   playplay(files)
else if kuo='.swf' then
   play2(files)
else if kuo='.asf' then
   play2(files);
   end;
procedure TForm1.N1Click(Sender: TObject);
begin
    if opendialog1.Execute then
       suichecklistbox1.Items.AddStrings(opendialog1.Files);
end;

procedure TForm1.N2Click(Sender: TObject);
begin
if opendialog2.Execute then
       suichecklistbox1.Items.AddStrings(opendialog2.Files);
end;

procedure TForm1.suiCheckListBox1DblClick(Sender: TObject);  //双击播放
begin
playlist(suichecklistbox1.Items.Strings[suichecklistbox1.Itemindex]);
form1.text.ScrollText:=form1.suichecklistbox1.Items.Strings[form1.suichecklistbox1.Itemindex];
end;

procedure TForm1.suiButton4Click(Sender: TObject);  //上一曲控制
var len:integer;
begin
len:=suichecklistbox1.ItemIndex-1;
if form1.suichecklistbox1.Itemindex>0 then
begin
playlist(form1.suichecklistbox1.Items.Strings[len]);
suichecklistbox1.ItemIndex:=suichecklistbox1.ItemIndex-1;
end
else
  showmessage('大哥上面已经没有文件啦!');
end;
procedure TForm1.N23Click(Sender: TObject);
begin
form2.Show;
end;

procedure TForm1.suiButton6Click(Sender: TObject);//快进控制
begin
if form1.play.Visible=true then
form1.play.controls.currentPosition:=form1.play.controls.currentPosition+13;
if form2.sing.Visible=true then
form2.sing.controls.currentPosition:=form2.sing.controls.currentPosition+13;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
 var time1,time2:integer;
begin
   time1:=Round(form1.play.currentMedia.duration);
   time2:=Round(form1.play.controls.currentPosition);
   if time2 < time1 then
   begin
form1.Panel4.Caption:='现在时间:'+'   '+IntToStr(time2 div 60)+':'+IntToStr(time2 mod 60);
form1.Panel6.Caption:='总时间:'+'    '+IntToStr(time1 div 60)+':'+IntToStr(time1 mod 60);
end;
end;

procedure TForm1.suiButton3Click(Sender: TObject); //停止控制
begin
 if form2.Visible=true then
begin
form2.sing.controls.stop;
 form1.Timer2.Enabled:=false;
 form2.Close;
 end;
 if form1.Visible=true then
 begin
 form1.play.controls.stop;
   form1.Timer1.Enabled:=false;
   end;
 form1.Panel4.caption:='现在时间:'+'   '+'00'+':'+'00';
 form1.Panel6.Caption:='总时间:'+'   '+'00'+':'+'00';
 form1.Panel7.Caption:='等待';
 form1.text.ScrollText:='欢迎使用小强超级播放器本软件是自由软件,可以自由传播!希望你使用愉快!';
end;

procedure TForm1.Timer2Timer(Sender: TObject);
var time1,time2:integer;
begin
   time1:=Round(form2.sing.currentMedia.duration);
   time2:=Round(form2.sing.controls.currentPosition);
if time2 <time1 then
             begin
             form1.Panel4.Caption:='现在时间:'+'   '+IntToStr(time2 div 60)+':'+IntToStr(time2 mod 60);
             form1.Panel6.Caption:='总时间:'+'    '+IntToStr(time1 div 60)+':'+IntToStr(time1 mod 60);
              end ;


 end;


procedure TForm1.suiButton1Click(Sender: TObject);  //播放控制
begin
if form1.suiCheckListBox1.Checked[form1.suiCheckListBox1.ItemIndex]=true then
    playlist(form1.suiCheckListBox1.Items.Strings[form1.suiCheckListBox1.ItemIndex]);
end;
procedure TForm1.suiButton5Click(Sender: TObject); //下一曲控制
var len:integer;
begin
len:=suichecklistbox1.ItemIndex+1;
if len<suiCheckListBox1.Items.Count then
begin
playlist(suichecklistbox1.Items.Strings[len]);
suichecklistbox1.ItemIndex:=suichecklistbox1.ItemIndex+1;
end
else
  showmessage('大哥下面已经没有文件啦!');
end;

procedure TForm1.suiButton8Click(Sender: TObject);  //静音控制
begin
     if form2.Visible=true then
        begin
             if form1.suiButton8.Caption='静音' then
                  begin
                 form2.sing.settings.mute:=true;
             form1.suiButton8.Caption:='还原';
              end
              else
                 begin
                       form2.sing.settings.mute:=false;
                        form1.suiButton8.Caption:='静音';
                        end;
                        end;
           if form1.play.Visible=true then
                       begin
                          if form1.suiButton8.Caption='静音' then
                              begin
                                     form1.play.settings.mute:=true;
                                      form1.suiButton8.Caption:='还原';
                                      end
                          else
                               begin
                                       form1.play.settings.mute:=false;
                                       form1.suiButton8.Caption:='静音';
                               end;

                   end;
                   end;
                   
procedure TForm1.suiButton7Click(Sender: TObject);  //快退控制
begin
if form1.play.Visible=true then
form1.play.controls.currentPosition:=form1.play.controls.currentPosition-2;
if form2.sing.Visible=true then
form2.sing.controls.currentPosition:=form2.sing.controls.currentPosition-2;
end;

procedure TForm1.suiButton9Click(Sender: TObject);
begin
form3.show;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
 form1.suiCheckListBox1.DeleteSelected;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
form1.suiCheckListBox1.Clear;

end;

procedure TForm1.suiButton2Click(Sender: TObject);
begin
 if form2.sing.Visible=true then
   begin
     if form1.suiButton2.Caption='暂停' then
     begin
     form2.sing.controls.pause;
     form1.suiButton2.Caption:='继续';
     end
     else
        begin
           form2.sing.controls.play;
           form1.suiButton2.Caption:='暂停';
           end;
           end;
 if form1.play.Visible=true then
       begin
           if form1.suiButton2.Caption='暂停' then
           begin
     form1.play.controls.pause;
     form1.suiButton2.Caption:='继续';
     end
     else
        begin
           form1.play.controls.play;
           form1.suiButton2.Caption:='暂停';
           end;
           end;

end;

procedure TForm1.N14Click(Sender: TObject);
begin
if form1.play.Visible=true then
    form1.play.settings.volume:=form1.play.settings.volume+5;
if form2.sing.Visible=true then
   form2.sing.settings.volume:=form2.sing.settings.volume+5;
   
end;

procedure TForm1.N15Click(Sender: TObject);
begin
   if form1.play.Visible=true then
    form1.play.settings.volume:=form1.play.settings.volume-5;
if form2.sing.Visible=true then
   form2.sing.settings.volume:=form2.sing.settings.volume-5;
end;

procedure TForm1.N20Click(Sender: TObject);
begin
form4.show;
end;

procedure TForm1.N21Click(Sender: TObject);
begin
form1.suiListBox1.Items.Delete(suilistbox1.ItemIndex);
end;

procedure TForm1.N24Click(Sender: TObject);
begin
form1.suiListBox1.Items.SaveToFile(IntToStr(suilistbox1.ItemIndex)+'.bat');
end;

end.

⌨️ 快捷键说明

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