Multimedia Programming/ru

From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de) English (en) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

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

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

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

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:

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, вы сможете написать собственный видеопроигрыватель на его основе. Скачать его можно здесь:

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

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

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

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

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

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

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

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

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

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

Media_Play('Music.mp3', TRUE);

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