Мультимедиа под контролем или Функция mciSendString | Программирование на Delphi и не только

Почитайте!

Нас читают

Статьи о программировании и не только

Mail.Ru

Rambler's Top100

Programming Blogs - BlogCatalog Blog Directory

Мультимедиа под контролем или Функция mciSendString

05.12.2007 от Иван Ширко

Страница: 1 2 3 4 5 6

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);

Страница: 1 2 3 4 5 6

Рубрики: Delphi |

Комментарии (2)

  1. Алексей Родионов пишет:

    Классно!

  2. Коньтяков Глеб пишет:

    Здравствуйте. Спасибо большое. Пишу только-только взглянув на статью(точнее скопировав себе для дальнейшего ознакомления =) ), но даже на первый взгляд очень информативная и удобочитаемая! (тем более, если Алексей Николаевич Родионов пишет, что “Классно!”, то мне точно понравится))))
    Я как раз пишу курсовую работу по обработке звука.Спасибо большое.

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.