FAQ VCL
Компоненты\MediaPlayer

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как узнать число кадров AVI файла?

procedure TForm1.Button1Click(Sender: TObject);
begin
   MediaPlayer1.FileName := 'FileName.avi';
   MediaPlayer1.Open;
   MediaPlayer1.TimeFormat := tfFrames;
   ShowMessage('Количество кадров = ' + IntToStr( MediaPlayer1.Length ) );
end;


Как узнать время проигрывания AVI файла?

procedure TForm1.Button1Click(Sender: TObject);
begin
   MediaPlayer1.FileName := 'FileName.avi';
   MediaPlayer1.Open;
   MediaPlayer1.TimeFormat := tfMilliseconds;
   ShowMessage( 'Время в милисекундах = ' + IntToStr( MediaPlayer1.Length ) );
end;


Как показать первый кадр AVI-файла?

procedure TForm1.Button1Click(Sender: TObject);
begin
   MediaPlayer1.FileName := 'FileName.avi';
   MediaPlayer1.Open;
   Application.ProcessMessages;
   MediaPlayer1.Step;
   Application.ProcessMessages;
   MediaPlayer1.Previous;
end;


Как заставить TMediaPlayer проигрывать одно и тоже бесконечно?

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
   with MediaPlayer1 do
      if NotifyValue = nvSuccessful then
      begin
         Notify := True;
         Play;
      end;
end;


Как узнать серийный номер аудио CD?

// CD может иметь или не иметь серийный номер и/или универсальный код
// продукта (Universal Product Code). MCI-расширение Windows предоставляет
// эту информации с помощью комманды MCI_INFO_MEDIA_IDENTITY command.
// Эта команда возвращает уникальную ID-строку.

uses
  {...,} MMSystem, MPlayer;

procedure TForm1.Button1Click(Sender: TObject);
var
  mp: TMediaPlayer;
  msp: TMCI_INFO_PARMS;
  MediaString: array[0..255] of char;
  ret: longint;
begin
   mp := TMediaPlayer.Create( nil );
   mp.Visible := false;
   mp.Parent := Application.MainForm;
   mp.Shareable := true;
   mp.DeviceType := dtCDAudio;
   mp.FileName := 'D:';
   mp.Open;
   Application.ProcessMessages;
   FillChar( MediaString, sizeof( MediaString ), #0 );
   FillChar( msp, sizeof( msp ), #0 );
   msp.lpstrReturn := @MediaString;
   msp.dwRetSize := 255;
   ret := mciSendCommand( Mp.DeviceId, MCI_INFO,
                          MCI_INFO_MEDIA_IDENTITY,
                          longint( @msp ) );
   if Ret <> 0 then
   begin
      MciGetErrorString( ret, @MediaString, sizeof( MediaString ) );
      Caption := StrPas( MediaString );
   end
   else
      Caption := StrPas( MediaString );
   mp.Close;
   Application.ProcessMessages;
   mp.free;
end;

При использовании материала - ссылка на сайт обязательна