procedure TForm_player.Button2Click(Sender: TObject);
begin
//Проверяем идет ли воспроизведение
if mode=play then
begin
BASS_ChannelPause(Channel);//останавливаем воспроизведение - пауза
mode:=paused;//устанавливаем playmode -> пауза
end;
end;
[/quoye]
для Stop
Цитата
procedure TForm_player.Button3Click(Sender: TObject);
begin
//Проверяем идет ли воспроизведение
if mode=play then
begin
BASS_ChannelStop(Channel);//останавливаем воспроизведение - стоп
mode:=Stop;//устанавливаем playmode -> стоп
end;
end;
В разделе Var объявляем еще две переменные
Цитата
Channel: DWORD;//дескриптор канала
Mode: TPlayerMode;//PlayMode
var
Form_player: TForm_player;
i:integer; //номер проигрываемой песни в playlist
filename: string;//имя файла
Channel : DWORD;//дескриптор канала
Mode: TPlayerMode;//PlayMode
В разделе Type объявляем
Цитата
TPlayerMode = (Stop, Play, Paused);
и создадим новую процедуру player(проигрывание файла);
Для этого перед разделом private пишем:
procedure Player;
А после раздела
implementation
{$R *.dfm}
пишем код процедуры:
procedure TForm_Player.Player;
begin
//проверяем, если не пауза
if mode<>paused then begin
//то проверяем существует ли файл загружаемый из PlayList
//если файл не существует, то выходим
if not FileExists(FileName) then begin ShowMessage('Файл не существует');exit;end;
//останавливаем и освобождаем канал воспроизведения
BASS_ChannelStop(Channel);BASS_StreamFree(Channel);
//пытаемся загрузить файл и получить дескриптор канала
Channel := BASS_StreamCreateFile(FALSE, PChar(FileName), 0, 0, 0 {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
//если дескриптор канала=0 (файл по какой то причине не может быть загружен),
//выдаем сообщение об ошибке и выходим
if Channel=0 then begin ShowMessage('Ошибка загрузки Файла');exit;end;
end;
//командой BASS_ChannelPlay(Channel, False) пытаемся воспроизвести файл,
//если это невозможно, то выдаем сообщение об ошибке
if not BASS_ChannelPlay(Channel, False) then
begin ShowMessage('Ошибка воспроизведения файла');exit;end;
//присваеваем заголовку формы имя проигрываемого файла
Form_Player.Caption:=ExtractFileName(FileName);
//Устанавливаем PlayMode - play
mode:=play;
end;
Для события OnCreate формы пишем:
procedure TForm_player.FormCreate(Sender: TObject);
begin
// проверка корректности загруженной BASS.DLL
if (HIWORD(BASS_GetVersion) <> BASSVERSION) then
begin
MessageBox(0,'Не корректная версия BASS.DLL',nil,MB_ICONERROR);
Halt;
end;
// Инициализация аудио - по умолчанию, 44100hz, stereo, 16 bits
if not BASS_Init(-1, 44100, 0, Handle, nil) then
begin
MessageBox(0,'Ошибка инициализация аудио',nil,MB_ICONERROR);
Halt;
end;
end;
Для события OnClose формы пишем:
procedure TForm_player.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Освобождаем объекты перед закрытием
Bass_Stop(); //останавливаем проигрывание
BASS_StreamFree(channel); // освобождаем звуковой канал
Bass_Free;// Освобождаем ресурсы используемые Bass
end;