Sign in Join
Wiki copytemporary

Multimedia Programming/ru

한국어 · Deutsch · English · Русский · 中文(中国) · 日本語

Воспроизведение видео

Запуск видеопроигрывателя

Для запуска внешнего проигрывателя удобно воспользоваться классом TProcessUTF8. Нижеприведенный код запускает проигрыватель из папки PathToPlayer и передаёт ему в качестве параметра командной строки расположение проигрываемого видео файла:

pascal
uses 
  Classes, ..., LCLProc, UTF8Process;

...

implementation

procedure TMainForm.Button1Click(Sender: TObject);
var
  Player: TProcessUTF8;
begin
  Player:=TProcessUTF8.Create(nil);
  try
    Player.CommandLine:=PathToPlayer+' '+ParametersAndMediaFile;
    Player.Execute;
  finally
    Player.Free;
  end;
end;

Следующий пример демонстрирует, как запустить и воспроизвести видео в проигрывателе mplayer из под Linux:

pascal
uses 
  Classes, ..., FileUtil, LCLProc, UTF8Process;

...

implementation

procedure TMainForm.Button1Click(Sender: TObject);
var
  Player: TProcessUTF8;
  Filename: String;
  PlayerPath: String;
  PlayerParams: String;
begin
  Filename:='/home/username/video.mpg';//путь к нужному видео файлу
  PlayerPath:=FindDefaultExecutablePath('mplayer');//ищем расположение в системе программы mplayer
  PlayerParams:='"'+Filename+'"';//задаём в качестве параметра командной строки путь к файлу
  Player:=TProcessUTF8.Create(nil);
  try
    Player.CommandLine:=PlayerPath+' '+PlayerParams;//формируем командную строку
    Player.Execute;//запускаем программу
  finally
    Player.Free;
  end;
end;

VFW - Video для Windows

Захват и воспроизведение видео потоков от TV карты или веб-камеры при работе в ОС Windows (VFW API), можно задействовать, используя SysRec.

MPlayer для Linux gtk2/X

mplayer - это проигрыватель с открытым исходным кодом. С помощью компонента mplayer для Lazarus, вы сможете написать собственный видеопроигрыватель на его основе. Скачать его можно здесь:

pascal
svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/mplayer mplayer

Воспроизведение звуков

Только для Windows: использование Windows API

Вы можете использовать Windows API для воспроизведения wav файлов:

pascal
...
uses MMSystem;
...
sndPlaySound('C:\sounds\test.wav', snd_Async or snd_NoDefault);

Данный код вызовет ошибку, если в пути поиска к файлу будут содержаться не латинские буквы. Поэтому более правильно производить конвертацию строки с путём поиска в системную кодировку, как в данном примере:

pascal
 sndPlaySound(pchar(UTF8ToSys('C:\sounds\test.wav')), snd_Async or snd_NoDefault);

Помните, это не кросс-платформенный код!

Сторонние библиотеки для работы со звуком

Ниже приведён небольшой список библиотек, каторые могут быть использованы в Lazarus:

pascal
Media_Play('Music.mp3', TRUE);

Смотрите так же


From the Free Pascal wiki, page "Multimedia Programming/ru", as it stood on 2020-02-20 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.