请教用Delphi做Winamp插件的详细资料的方法,提供100分哦:)(100分)

H

hylwr

Unregistered / Unconfirmed
GUEST, unregistred user!
同上 :)
 
从深度历险上摘抄的操纵winamp的完整程序:(未经测试)

unit WinAmpInterface;

interface

uses
WAIPC,Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FileCtrl, RzFilSys, StdCtrls, Spin, Buttons, ExtCtrls;

type
TForm1 = class(TForm)
RzDriveComboBox1: TRzDriveComboBox;
RzDirectoryListBox1: TRzDirectoryListBox;
RzFileListBox1: TRzFileListBox;
FileSelected: TEdit;
LaunchWinAmp: TButton;
AddToPlayList: TButton;
SpinButton1: TSpinButton;
Volume: TLabel;
Rewind5Sec: TBitBtn;
Forward5Sec: TBitBtn;
RewindForward: TLabel;
Mute: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button1: TButton;
ShowPlayList: TButton;
ShowEq: TButton;
SongLength: TEdit;
AlwaysOT: TButton;
WinAmpDir: TEdit;
PathToWinAmp: TLabel;
PathToMp3z: TLabel;
PathToMP3: TEdit;
Me: TLabel;
DeletePL: TButton;
Status: TEdit;
JumpTime: TEdit;
Jump: TButton;
Timer1: TTimer;
TimeElapsed: TLabel;
SLSec: TLabel;
StatusLabel: TLabel;
TimeRemaining: TEdit;
procedure RzFileListBox1Click(Sender: TObject);
procedure LaunchWinAmpClick(Sender: TObject);
procedure AddToPlayListClick(Sender: TObject);
procedure SpinButton1DownClick(Sender: TObject);
procedure SpinButton1UpClick(Sender: TObject);
procedure MuteClick(Sender: TObject);
procedure Rewind5SecClick(Sender: TObject);
procedure Forward5SecClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ShowPlayListClick(Sender: TObject);
procedure ShowEqClick(Sender: TObject);
procedure TimeRemainClick(Sender: TObject);
procedure SongLengthmsClick(Sender: TObject);
procedure AlwaysOTClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure PathToMP3Exit(Sender: TObject);
procedure DeletePLClick(Sender: TObject);
procedure StatusBClick(Sender: TObject);
procedure JumpClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.RzFileListBox1Click(Sender: TObject);
begin

FileSelected.text:=rzFileListBox1.LongFileName;
end;


procedure TForm1.LaunchWinAmpClick(Sender: TObject);
Var Mp3ToLaunch:string;
p:pchar;
begin

MP3ToLaunch:=WinAmpDir.text+' '+FileSelected.text;
Mp3ToLaunch:=MP3ToLaunch+#0;
{ makes string null -terminated }
p:=@MP3ToLaunch[1];
{ skip s[0], as it contains length }

WinExec(p,Sw_normal);

end;


procedure TForm1.AddToPlayListClick(Sender: TObject);
begin

AddMp3ToPlayList(FileSelected.Text);
end;


procedure TForm1.SpinButton1DownClick(Sender: TObject);
begin

VolumeDown;
end;


procedure TForm1.SpinButton1UpClick(Sender: TObject);
begin

VolumeUp;
end;


procedure TForm1.MuteClick(Sender: TObject);
Var x:integer;
begin

For x:=1 to 25do
VolumeDown;
end;


procedure TForm1.Rewind5SecClick(Sender: TObject);
begin

Rewind5;
end;


procedure TForm1.Forward5SecClick(Sender: TObject);
begin

Forward5;
end;




procedure TForm1.Button1Click(Sender: TObject);
begin

WAIPC.button1;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin

WAIPC.button2;
end;


procedure TForm1.Button3Click(Sender: TObject);
begin

WAIPC.button3;
end;


procedure TForm1.Button4Click(Sender: TObject);
begin

WAIPC.button4;
end;


procedure TForm1.Button5Click(Sender: TObject);
begin

WAIPC.button5;
end;


procedure TForm1.ShowPlayListClick(Sender: TObject);
begin

PlayList;
end;


procedure TForm1.ShowEqClick(Sender: TObject);
begin

EQ;
end;


procedure TForm1.TimeRemainClick(Sender: TObject);
begin

timeremaining.text:=inttostr(GetOutPutTime(0));
end;


procedure TForm1.SongLengthmsClick(Sender: TObject);
begin

SongLength.text:=inttostr(GetOutPutTime(1));
end;


procedure TForm1.AlwaysOTClick(Sender: TObject);
begin

AlwaysOnTop;
end;


procedure TForm1.FormActivate(Sender: TObject);
begin

RzDirectoryListBox1.directory:=PathToMp3.text;
end;


procedure TForm1.PathToMP3Exit(Sender: TObject);
begin

RzDirectoryListBox1.directory:=PathToMp3.text;
end;


procedure TForm1.DeletePLClick(Sender: TObject);
begin

DeletePlayList;
end;


procedure TForm1.StatusBClick(Sender: TObject);
Var statusi:integer;
begin

statusi:=PlayBackStatus;
Case Statusi of
1: Status.Text:='Playing';
3: Status.Text:='Paused';
0: Status.text:='Stopped';
end;

end;


procedure TForm1.JumpClick(Sender: TObject);
var jumpsuccess: integer;
begin

jumpsuccess:=JumpToTime(StrToInt(jumptime.text)*1000);
end;


procedure TForm1.Timer1Timer(Sender: TObject);
Var statusi:integer;
begin

statusi:=PlayBackStatus;
Case Statusi of
1: begin

Status.Text:='Playing';
timeremaining.text:=inttostr(GetOutPutTime(0)div 1000);
SongLength.text:=inttostr(GetOutPutTime(1));
end;

3: Status.Text:='Paused';
0: Status.text:='Stopped';
end;


end;


end.

 
我从网上下过一套用于Winamp插件开发的工具,下面是它的说明:
如果你要的话,留下email,我寄给你。才20多K。

= SRC_DV11 - Delphi WinAMP visualization plug-in resource =
Name: SRC_DV11, Vis_Test.*
Platform: Win32, Intel x86, Delphi 2+, WinAMP 1.6+
Version: 1.10
Author(s): J. Frankel, N.M. Ismail, J. Crawford
Description: This is a programming resource for the Delphi programming
language to design and deploy visualization plug-ins for
WinAMP v1.6+.

File list: MySysUtl.PAS Reduced set of system utilies (Delphi)
SVis.C Visualization plug-in main unit (C)
SVis.MAK Makefile (C)
SVis.MDP MDPfile (C)
SVis.PAS Visualization plug-in main unit (Delphi)
Vis.H Visualization header (C)
Vis_Test.DLL pre-compiled (in Delphi) DLL (WinAMP)
Vis_Test.DPR Vis_Test project file (Delphi)
Vis_Test.Res Vis_Test resource file (Delphi)
 
给我一份呗?50分
多谢!
hubdog@263.net
 
呵呵, 以前有过回答呀, 为什么都不找呢:-(
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=134270


曾经回答如下:
http://www.torry.ru/samples/samples/gwinamp.zip
By Gordy Cowie. Example how to make a vis plugin for winamp.
Uses FastLIB. Delphi 5 compatible.
 
hubdog:已经寄出了。
 
to DreamTiger:
多谢!我开了题目,去拿分吧
 
多人接受答案了。
 
咦,为什么给我分?我可什么都没干呀?
 
顶部