Multimedia Programming/ru
한국어 · Deutsch · English · Русский · 中文(中国) · 日本語
Воспроизведение видео
Запуск видеопроигрывателя
Для запуска внешнего проигрывателя удобно воспользоваться классом 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:
- Audio Component Suite
- http://www.noeska.com/doal/tutorials.aspx - Open AL
- http://sourceforge.net/projects/audorra/ - Audorra Library
- http://sourceforge.net/projects/omega-engine/files/ - OMEGA Engine. Проект мертв, но очень прост в использовании:
Media_Play('Music.mp3', TRUE);- http://www.afterwarp.net/resources/soundlib - Squall sound
Смотрите так же
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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
