Мультимедиа под контролем или Функция mciSendString
05.12.2007 от Иван Ширкоfunction GetStatus:string;
begin
com := 'status cdaudio mode wait';
mciSendString(com, @sbReturn, 64, 0);
result := trim(sbReturn);
end;
//есть ли диск
function IsCDReady:string;
begin
com := 'status cdaudio ready wait';
mciSendString(com, @sbReturn, 64, 0);
result := trim(sbReturn);
end;
//Начать проигрывание
procedure PlayCD;
begin
mciSendString('play cdaudio', @sbReturn, 64, 0);
end;
//Пауза
procedure PauseCD;
begin
mciSendString('pause cdaudio wait', @sbReturn, 64, 0);
end;
//Остановить проигрывание
procedure StopCD;
begin
mciSendString('stop cdaudio wait', @sbReturn, 64, 0);
end;
//начальная позиция композиции
function GetTrackPos(Track:word): string;
begin
com := pchar('status cdaudio position track '+inttostr(Track)+' wait');
mciSendString(com, @sbReturn, 64, 0);
result := trim(sbReturn);
end;
//текущая позиция диска
function GetCDPos: string;
begin
com := pchar('status cdaudio position wait');
mciSendString(com, @sbReturn, 64, 0);
result := trim(sbReturn);
end;
А теперь напишем обработчики различных событий для компонентов:
//инициализируем устройство при загрузке
procedure TForm1.FormCreate(Sender: TObject);
begin
mciSendString('open cdaudio', @sbReturn, 64, 0);
end;
//при выходе закрываем устройство
procedure TForm1.FormDestroy(Sender: TObject);
begin
mciSendString('close cdaudio wait', @sbReturn, 64, 0);
end;
{при появлении формы записываем
в ListBox список композиций}
procedure TForm1.FormShow(Sender: TObject);
var
i: word;
begin
for i := 1 to GetTracksCnt do
begin
Listbox1.Items.Add(inttostr(i)+' '+GetTrackLength(i));
end;
end;
//кнопка Play
procedure TForm1.Button1Click(Sender: TObject);
begin
PlayCD;
end;
//кнопка Pause
procedure TForm1.Button2Click(Sender: TObject);
begin
PauseCD;
end;
//кнопка Stop
procedure TForm1.Button3Click(Sender: TObject);
begin
StopCD;
end;
//кнопка Next (следующая композиция)
procedure TForm1.Button4Click(Sender: TObject);
begin
NextTrack;
end;
//кнопка Prev (переход к предыдущей композиции)
procedure TForm1.Button5Click(Sender: TObject);
Рубрики: Delphi |
02.06.2008 в 15:27
Классно!
13.05.2009 в 13:35
Здравствуйте. Спасибо большое. Пишу только-только взглянув на статью(точнее скопировав себе для дальнейшего ознакомления =) ), но даже на первый взгляд очень информативная и удобочитаемая! (тем более, если Алексей Николаевич Родионов пишет, что “Классно!”, то мне точно понравится))))
Я как раз пишу курсовую работу по обработке звука.Спасибо большое.