📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DSPack,directshow9,sdinterf,DSUtil;
type
TForm1 = class(TForm)
FilterGraph1: TFilterGraph;
SDMP2DFilter: TFilter;
SDPCMSFilter: TFilter;
Button1: TButton;
OpenDialog1: TOpenDialog;
Button2: TButton;
MP3DFilter: TFilter;
VideoWindow1: TVideoWindow;
avisplitter: TFilter;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button7: TButton;
Button8: TButton;
LeftChan: TButton;
RightChan: TButton;
Edit3: TEdit;
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 Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure LeftChanClick(Sender: TObject);
procedure RightChanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
//uses sdinterf;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
FilterGraph1.ClearGraph;
if OpenDialog1.Execute then
FilterGraph1.RenderFile(OpenDialog1.FileName);
( SDMP2DFilter as IBasicAudio).put_Volume(-3000);
if not FilterGraph1.Active then
FilterGraph1.Active:=True;
filterGraph1.Play;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
FilterGraph1.Stop;
filtergraph1.Active:=False;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
(SDMP2DFilter as IBasicAudio).put_Volume(0);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
(SDMP2DFilter as IBasicAudio).put_Volume(-10000);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
// (SDMP2DFilter as IAudioOutput).SetOutput(0);
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
(SDMP2DFilter as IBasicAudio).put_Balance(0);
end;
procedure TForm1.Button7Click(Sender: TObject);
var
BalV,VulV:integer;
ab:PAudio_Channel;
begin
(SDMP2DFilter as IBasicAudio).get_Volume(Vulv);
Edit1.Text:=IntToStr(VulV);
(SDMP2DFilter as IBasicAudio).get_Balance(BalV);
Edit2.Text:=IntToStr(BalV);
(SDMP2DFilter as IAudioOutput).GetChannel(ab);
Edit3.Text:=IntToStr(Balv);
end;
procedure TForm1.Button8Click(Sender: TObject);
var
Filter : IBaseFilter;
begin
ShowFilterPropertyPage(handle,(SDMP2DFilter as IBaseFilter));
end;
procedure TForm1.LeftChanClick(Sender: TObject);
begin
(SDMP2DFilter as IAudioOutput).SetChannel(Audio_Channel(1));
end;
procedure TForm1.RightChanClick(Sender: TObject);
begin
(SDMP2DFilter as IAudioOutput).SetChannel(Audio_Channel(2));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -