Delphi: Свой WinAMP в подарочной упаковке

Лозовский Александр

Xakep, номер #057, стр. 057-086-5


Pars Terminalis

Если ты сделал какой-нибудь мегаподарочный интерфейс, не скрывай его от общественности. Лучше вооружись электронной почтой и пришли его мне на alexander@real.xakep.ru. Если тебе жалко исходника - пришли бинарник. На худой конец скрин в формате BMP или нерабочий интерфейс. Самые кульные творения мы выложим на xakep.ru, пусть народ смотрит и учится. Только не забудь как следует запаковать свое добро RAR'ом - пожалей мой старенький модем :). Удачного тебе музона!

Листинг procedure TForm1.FormCreate

procedure TForm1.FormCreate(Sender: TObject);

begin

if BASS_GetVersion() <> MAKELONG(1,8) then begin

ShowMessage('BASS 1.8 не загружен!');

Halt; //Никогда так не делай. Это моветон :)

end;

// Инициализируем цифровой саунд -

// дефолт девайс, 44100 Гц, стерео, 16 бит

if not BASS_Init(-1, 44100, 0, handle) then

ShowMessage('Не могу инициализировать звук!');

// Инициализируем компакт

if not BASS_CDInit(nil, BASS_DEVICE_LEAVEVOL) then

ShowMessage('Не могу инициализировать компакт!');

// звуковой выход

BASS_Start;

end;

Обработчик OnClick для RadioButton2

procedure TForm1.RadioButton2Click(Sender: TObject);

var i: integer;

begin

If BASS_CDInDrive then

begin

RadioButton1.Checked;

For i:=1 to BASS_CDGetTracks do

begin

IF BASS_CDGetTracks>=10 then ListBox1.Items.Add('Track '+Inttostr(i)) else

ListBox1.Items.Add('Track 0'+Inttostr(i));

end;

end else

begin

ShowMessage ('Нет CD в дисководе! Че играть-то?');

RadioButton1.Checked:= true;

end;

end;

Онклик для кнопки: "PAUSE":

procedure TForm1.Button3Click(Sender: TObject);

begin

IF button3.Caption= 'Pause' then

begin

IF RadioButton2.Checked then

bass_channelpause (CDCHANNEL) else

bass_channelpause (result);

Button3.Caption:= 'Resume';

end else

begin

IF RadioButton2.Checked then

bass_channelresume (CDCHANNEL) else

bass_channelresume (result);

Button3.Caption:= 'Pause';

end;

end;

Назад на стр. 057-086-4  Содержание