Difference between revisions of "Multimedia Programming/ru"
(Created page with "{{Multimedia Programming}} =Воспроизведение видео= ==Запуск видеопроигрывателя== Для запуска внешнего прои...") |
m (Fixed syntax highlighting; removed categories included in template) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
Для запуска внешнего проигрывателя удобно воспользоваться классом TProcessUTF8. Нижеприведенный код запускает проигрыватель из папки PathToPlayer и передаёт ему в качестве параметра командной строки расположение проигрываемого видео файла: | Для запуска внешнего проигрывателя удобно воспользоваться классом TProcessUTF8. Нижеприведенный код запускает проигрыватель из папки PathToPlayer и передаёт ему в качестве параметра командной строки расположение проигрываемого видео файла: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
uses | uses | ||
Classes, ..., LCLProc, UTF8Process; | Classes, ..., LCLProc, UTF8Process; | ||
Line 30: | Line 30: | ||
Следующий пример демонстрирует, как запустить и воспроизвести видео в проигрывателе mplayer из под Linux: | Следующий пример демонстрирует, как запустить и воспроизвести видео в проигрывателе mplayer из под Linux: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
uses | uses | ||
Classes, ..., FileUtil, LCLProc, UTF8Process; | Classes, ..., FileUtil, LCLProc, UTF8Process; | ||
Line 57: | Line 57: | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ==VFW - Video для Windows== | ||
+ | |||
+ | Захват и воспроизведение видео потоков от TV карты или веб-камеры при работе в ОС Windows ([[Glossary#VFW|VFW]] [[Glossary#API|API]]), можно задействовать, используя [[SysRec]]. | ||
+ | |||
+ | ==MPlayer для Linux gtk2/X== | ||
+ | |||
+ | '''mplayer''' - это проигрыватель с открытым исходным кодом. С помощью компонента mplayer для Lazarus, вы сможете написать собственный видеопроигрыватель на его основе. Скачать его можно здесь: | ||
+ | <pre> | ||
+ | svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/mplayer mplayer | ||
+ | </pre> | ||
+ | |||
+ | =Воспроизведение звуков= | ||
+ | |||
+ | ==Только для Windows: использование Windows API== | ||
+ | |||
+ | Вы можете использовать Windows API для воспроизведения wav файлов: | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
+ | ... | ||
+ | uses MMSystem; | ||
+ | ... | ||
+ | sndPlaySound('C:\sounds\test.wav', snd_Async or snd_NoDefault); | ||
+ | </syntaxhighlight> | ||
+ | Данный код вызовет ошибку, если в пути поиска к файлу будут содержаться не латинские буквы. Поэтому более правильно производить конвертацию строки с путём поиска в системную кодировку, как в данном примере: <syntaxhighlight lang=pascal> sndPlaySound(pchar(UTF8ToSys('C:\sounds\test.wav')), snd_Async or snd_NoDefault);</syntaxhighlight> | ||
+ | Помните, это не кросс-платформенный код! | ||
+ | |||
+ | ==Сторонние библиотеки для работы со звуком== | ||
+ | |||
+ | Ниже приведён небольшой список библиотек, каторые могут быть использованы в Lazarus: | ||
+ | |||
+ | *[[ACS|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. Проект мертв, но очень прост в использовании: | ||
+ | <syntaxhighlight lang=pascal> | ||
+ | Media_Play('Music.mp3', TRUE); | ||
+ | </syntaxhighlight> | ||
+ | *http://www.afterwarp.net/resources/soundlib - Squall sound | ||
+ | |||
+ | =Смотрите так же= | ||
+ | *[[Audio libraries|Аудио библиотеки]] |
Latest revision as of 01:22, 21 February 2020
│
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:
- 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