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

📄 unit_main.pas

📁 这是一个用Delphi开发的MP3播放器的源码
💻 PAS
📖 第 1 页 / 共 3 页
字号:
      Frm_List.Show;
   end
   else
      begin
       Frm_List.Close;
       Frm_Main.List_Boot := False;
      end;
except
     exit;
   end;
end;

procedure TFrm_Main.Button_WorkClick(Sender: TObject);
begin
try
if Frm_Main.Work_Boot = False then
   begin
      Frm_Work:=TFrm_Work.Create(self);
      Frm_Work.Left :=Round(Frm_Main.Left + Frm_Main.Width /2);
      Frm_Work.Top := Frm_Main.Top + Frm_Main.Height ;
      Frm_Work.Image_bmp.Picture := Frm_Main.Image_bmp.Picture;
      Frm_Main.Work_Boot := True;
      Frm_Work.Show;
   end
   else
      begin
       Frm_Work.Close;
       Frm_Main.Work_Boot := False;
      end;
except
     exit;
   end;
end;

procedure TFrm_Main.Image_HelpClick(Sender: TObject);
begin
try
     Frm_Help:=TFrm_Help.Create(self);
     Frm_Help.Caption := Frm_Main.Caption;
     Frm_Help.Show;
except
     exit;
   end;     
end;

procedure TFrm_Main.Menu_ExitClick(Sender: TObject);
begin
try
     Frm_Main.ExitBtn.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_OpenSClick(Sender: TObject);
begin
try
     Frm_Main.OpenBtn.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Panel_ModelClick(Sender: TObject);
begin
try
     Frm_Main.Panel_Left.Color := Rgb(255,0,0);
     Frm_Main.Panel_Model.Color := Rgb(0,255,0);
     Frm_Main.Panel_Right.Color := Rgb(255,0,0);

     Frm_Main.SetWave();
except
     exit;
   end;
end;

procedure TFrm_Main.Panel_LeftClick(Sender: TObject);
begin
try
     Frm_Main.Panel_Left.Color := Rgb(0,255,0);
     Frm_Main.Panel_Model.Color := Rgb(255,0,0);
     Frm_Main.Panel_Right.Color := Rgb(255,0,0);

     Frm_Main.SetWave();
except
     exit;
   end;
end;

procedure TFrm_Main.Panel_RightClick(Sender: TObject);
begin
try
     Frm_Main.Panel_Left.Color := Rgb(255,0,0);
     Frm_Main.Panel_Model.Color := Rgb(255,0,0);
     Frm_Main.Panel_Right.Color := Rgb(0,255,0);

     Frm_Main.SetWave();
except
     exit;
   end;
end;

procedure TFrm_Main.SetWave;
var
    Temp:TColor;
begin
try
   Temp:=Rgb(0,255,0);
     if Frm_Main.Panel_Right.Color = Temp then
        begin
            PubUnit.SetWaveRigth(Round(Frm_Main.Splitter_Sound.Left/5));
        end;

     if Frm_Main.Panel_Left.Color = Temp then
        begin
            PubUnit.SetWaveLeft(Round(Frm_Main.Splitter_Sound.Left/5));
        end;
     if Frm_Main.Panel_Model.Color = Temp then
        begin
            PubUnit.SetWaveBalance(Round(Frm_Main.Splitter_Sound.Left/5));
        end;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_LeftClick(Sender: TObject);
begin
try
     Frm_Main.Panel_Left.OnClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_ModelClick(Sender: TObject);
begin
try
     Frm_Main.Panel_Model.OnClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_RightClick(Sender: TObject);
begin
try
     Frm_Main.Panel_Right.OnClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_SoundAddClick(Sender: TObject);
begin
try
     Frm_Main.Panel_SoundX.OnClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_SoundDelClick(Sender: TObject);
begin
try
     Frm_Main.Panel_SoundD.OnClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Play_Sounder(File_Name: String);
var
  freq, len: integer;
  s: string;
begin
try
   if Frm_Main.VCD_Full = True then
      Frm_Full.Close;

   if Frm_Main.VCD_Play = True then
      begin
           Frm_Play.Close;
           Frm_Main.MediaPlayer.Close;
           Frm_Main.Play_Stop := False;
      end;

    pvStopMp3;
    pvGetMp3Info(pchar(File_Name), @freq, @len);

    Freqlabel.Caption := IntToStr(freq);
    s := GetStringFromFrame(len*25);
    SetLength(s, length(s)-3);
    LengthLabel.Caption := s;

    PlayBtn.Enabled := True;
    PauseBtn.Enabled := True;
    StopBtn.Enabled := True;
    PauseBtn.tag := 0;
    PauseBtn.Caption := '||';
    
    pvPlayMp3(PChar(File_Name));
    PauseBtn.tag := 0;
    PauseBtn.Caption := '||';
    Frm_Main.Play_Stop := True;
    Frm_Main.Length_Play :=0;
    Frm_Main.Timer_JinDu.Enabled := True;

    Frm_Main.PlayBtn.Font.Color := Rgb(255,0,0);
    Frm_Main.Play_Stop := True;  //开始播放

              Frm_Main.Menu_VcdPause.Enabled := False;
              Frm_Main.Menu_VcdPlay.Enabled := False;
              Frm_Main.Menu_VcdFrowd.Enabled := False;
              Frm_Main.Menu_VcdBack.Enabled := False;
              Frm_Main.Menu_VcdFull.Enabled := False;
              Frm_Main.Menu_VcdNorml.Enabled := False;

    Frm_Main.Length_Miao := StrToInt(Trim(copy(Frm_Main.LengthLabel.Caption,4,2)))*60+
                            StrToInt(Trim(copy(Frm_Main.LengthLabel.Caption,7,2)));

    Frm_Main.Length_Play :=0;
    Frm_Main.Panel_QuMu.Caption :='曲目:'+ ExtractFileName(File_Name);

except
     exit;
   end;
end;

procedure TFrm_Main.Menu_MixWindowClick(Sender: TObject);
begin
try
     //Frm_Main.WindowState := wsMinimized;
     Application.Minimize;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_CDOpenClick(Sender: TObject);
begin
try
     PubUnit.SetCDRomOpen();
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_CDCloseClick(Sender: TObject);
begin
try
     PubUnit.SetCDromClose();
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_HelpClick(Sender: TObject);
begin
try
      Frm_Main.Image_Help.OnClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_PlayClick(Sender: TObject);
begin
try
    Frm_Main.PauseBtn.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_PauseClick(Sender: TObject);
begin
try
     Frm_Main.PauseBtn.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_SoundOffOnClick(Sender: TObject);
begin
try
if Frm_Main.Sound_OffOn = False then
   begin
     PubUnit.SetWaveLeft(0);
     Frm_Main.Sound_OffOn := True;
     Frm_Main.Menu_SoundOffOn.Checked := True;
     Frm_Main.Caption := '音乐天地1.0                    (静音)';
     end
     else
        begin
             Frm_Main.SetWave();
             Frm_Main.Sound_OffOn := False;
             Frm_Main.Menu_SoundOffOn.Checked := False;
             Frm_Main.Caption := '音乐天地1.0';
             end;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_PluseClick(Sender: TObject);
begin
try
     Frm_Pluse:=TFrm_Pluse.Create(self);
     Frm_Pluse.Caption:=Frm_Main.Caption;
     Frm_Main.Menu_Pluse.Enabled := False;
     Frm_Pluse.Image_CAD.Width:=Frm_Pluse.Width;
     Frm_Pluse.Image_CAD.Height := Frm_Pluse.Height;
     Frm_Pluse.Timer_Pluse.Enabled := True;
     Frm_Pluse.Show();
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_SuiJiClick(Sender: TObject);
begin
try
      Frm_Pluse.Duo_Dan:=True;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_DanSeClick(Sender: TObject);
begin
try
       Frm_Pluse.Duo_Dan := False;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_DaiClick(Sender: TObject);
begin
try
      Frm_Pluse.Image_CAD.OnDblClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_YeClick(Sender: TObject);
begin
try
     Frm_Pluse.Image_CAD.OnDblClick(self);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_OpenMClick(Sender: TObject);
begin
try
   Frm_Main.OpenDialog_M.Title := Frm_Main.Caption;
    if  Frm_Main.OpenDialog_M.Execute  then
        Frm_Main.CheckListBox.Items.AddStrings(Frm_Main.OpenDialog_M.Files);
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_OpenListClick(Sender: TObject);
begin
try
     Frm_Main.Button_List.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_ClostListClick(Sender: TObject);
begin
try
     Frm_Main.Button_List.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_OpenWorkClick(Sender: TObject);
begin
try
     Frm_Main.Button_Work.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_ClostWorkClick(Sender: TObject);
begin
try
     Frm_Main.Button_Work.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_FormTopClick(Sender: TObject);
begin
try
    //  Frm_Main.FormStyle := fsStayOnTop;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_FormNormlClick(Sender: TObject);
begin
try
     Frm_Main.FormStyle := fsNormal;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_SoundConfClick(Sender: TObject);
var
    Win_Str:string;
    Name:string;
begin
try
    SetLength(Win_Str,256);
    Windows.GetWindowsDirectory(PChar(Win_Str),256);
    SetLength(Win_Str,StrLen(PChar(Win_Str)));
    Name:=Win_Str+'\SNDVOL32.EXE';
    WinExec(PChar(Name),SW_RESTORE); //调用API函数打开音量控制台
    except
    exit;
    end;

end;

procedure TFrm_Main.user_sysmenu(var msg: twmmenuselect);
begin
try
if msg.iditem=100 then
   begin
   Frm_Main.Button_Work.Click;
   end
else
   begin
   end;
inherited;
except
     exit;
   end;
end;

procedure TFrm_Main.wmnchittest(var msg: twmnchittest);
begin
try
inherited;
if (htclient=msg.result) then msg.result:=htcaption;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_PictureClick(Sender: TObject);
begin
try
if Frm_Main.OpenPictureDialog.Execute then
   Frm_Main.Image_bmp.Picture.LoadFromFile(Frm_Main.OpenPictureDialog.FileName);

   if Frm_Main.List_Boot = True then
      Frm_List.Image.Picture := Frm_Main.Image_bmp.Picture;

   if Frm_Main.Work_Boot = True then
      Frm_Work.Image_bmp.Picture := Frm_Main.Image_bmp.Picture;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_NoXuanClick(Sender: TObject);
begin
try
     Frm_Main.Button_XunHuan.Click;
except
     exit;
   end;
end;

procedure TFrm_Main.Menu_XunHuanClick(Sender: TObject);
begin
try
     Frm_Main.Button_XunHuan.Click;

⌨️ 快捷键说明

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