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

📄 equalizer.pas

📁 一个非常好用的MP3音乐播放控件
💻 PAS
字号:
unit Equalizer;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, XaudioPlayer;

type
  TEqualizerForm = class(TForm)
    EnableCheckBox: TCheckBox;
    TrackBar06: TTrackBar;
    TrackBar05: TTrackBar;
    TrackBar07: TTrackBar;
    TrackBar04: TTrackBar;
    TrackBar08: TTrackBar;
    TrackBar03: TTrackBar;
    TrackBar02: TTrackBar;
    TrackBar01: TTrackBar;
    procedure UpdateEqualizer;
    procedure EnableCheckBoxClick(Sender: TObject);
    procedure TrackBar01Change(Sender: TObject);
    procedure TrackBar02Change(Sender: TObject);
    procedure TrackBar03Change(Sender: TObject);
    procedure TrackBar04Change(Sender: TObject);
    procedure TrackBar05Change(Sender: TObject);
    procedure TrackBar06Change(Sender: TObject);
    procedure TrackBar07Change(Sender: TObject);
    procedure TrackBar08Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  EqualizerForm: TEqualizerForm;

implementation

uses Player;

{$R *.DFM}




procedure TEqualizerForm.UpdateEqualizer;
var
  EQ: XA_EqualizerInfo;
begin
  if EnableCheckBox.Checked then
    begin
      EQ.Left[ 0] := -TrackBar01.Position;
      EQ.Left[ 1] := -TrackBar02.Position;
      EQ.Left[ 2] := -TrackBar03.Position;
      EQ.Left[ 3] := -TrackBar03.Position;
      EQ.Left[ 4] := -TrackBar04.Position;
      EQ.Left[ 5] := -TrackBar04.Position;
      EQ.Left[ 6] := -TrackBar05.Position;
      EQ.Left[ 7] := -TrackBar05.Position;
      EQ.Left[ 8] := -TrackBar06.Position;
      EQ.Left[ 9] := -TrackBar06.Position;
      EQ.Left[10] := -TrackBar06.Position;
      EQ.Left[11] := -TrackBar06.Position;
      EQ.Left[12] := -TrackBar06.Position;
      EQ.Left[13] := -TrackBar06.Position;
      EQ.Left[14] := -TrackBar07.Position;
      EQ.Left[15] := -TrackBar07.Position;
      EQ.Left[16] := -TrackBar07.Position;
      EQ.Left[17] := -TrackBar07.Position;
      EQ.Left[18] := -TrackBar07.Position;
      EQ.Left[19] := -TrackBar07.Position;
      EQ.Left[20] := -TrackBar08.Position;
      EQ.Left[21] := -TrackBar08.Position;
      EQ.Left[22] := -TrackBar08.Position;
      EQ.Left[23] := -TrackBar08.Position;
      EQ.Left[24] := -TrackBar08.Position;
      EQ.Left[25] := -TrackBar08.Position;
      EQ.Left[26] := -TrackBar08.Position;
      EQ.Left[27] := -TrackBar08.Position;
      EQ.Left[28] := -TrackBar08.Position;
      EQ.Left[29] := -TrackBar08.Position;
      EQ.Left[30] := -TrackBar08.Position;
      EQ.Left[31] := -TrackBar08.Position;
      EQ.Right[ 0] := EQ.Left[ 0];
      EQ.Right[ 1] := EQ.Left[ 1];
      EQ.Right[ 2] := EQ.Left[ 2];
      EQ.Right[ 3] := EQ.Left[ 3];
      EQ.Right[ 4] := EQ.Left[ 4];
      EQ.Right[ 5] := EQ.Left[ 5];
      EQ.Right[ 6] := EQ.Left[ 6];
      EQ.Right[ 7] := EQ.Left[ 7];
      EQ.Right[ 8] := EQ.Left[ 8];
      EQ.Right[ 9] := EQ.Left[ 9];
      EQ.Right[10] := EQ.Left[10];
      EQ.Right[11] := EQ.Left[11];
      EQ.Right[12] := EQ.Left[12];
      EQ.Right[13] := EQ.Left[13];
      EQ.Right[14] := EQ.Left[14];
      EQ.Right[15] := EQ.Left[15];
      EQ.Right[16] := EQ.Left[16];
      EQ.Right[17] := EQ.Left[17];
      EQ.Right[18] := EQ.Left[18];
      EQ.Right[19] := EQ.Left[19];
      EQ.Right[20] := EQ.Left[20];
      EQ.Right[21] := EQ.Left[21];
      EQ.Right[22] := EQ.Left[22];
      EQ.Right[23] := EQ.Left[23];
      EQ.Right[24] := EQ.Left[24];
      EQ.Right[25] := EQ.Left[25];
      EQ.Right[26] := EQ.Left[26];
      EQ.Right[27] := EQ.Left[27];
      EQ.Right[28] := EQ.Left[28];
      EQ.Right[29] := EQ.Left[29];
      EQ.Right[30] := EQ.Left[30];
      EQ.Right[31] := EQ.Left[31];
      PlayerForm.XaudioPlayer.SetCodecEqualizer(@EQ);
      PlayerForm.XaudioPlayer.GetCodecEqualizer;
    end
  else
    PlayerForm.XaudioPlayer.SetCodecEqualizer(nil);
end;

procedure TEqualizerForm.EnableCheckBoxClick(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar01Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar02Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar03Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar04Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar05Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar06Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar07Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

procedure TEqualizerForm.TrackBar08Change(Sender: TObject);
begin
  UpdateEqualizer;
end;

end.

⌨️ 快捷键说明

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