Sign in Join
Wiki copytemporary

Multimedia Programming/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Multimedia Programming/ru

OldNewLine
1+# Воспроизведение видео
2+
3+## Запуск видеопроигрывателя
4+
5+Для запуска внешнего проигрывателя удобно воспользоваться классом TProcessUTF8. Нижеприведенный код запускает проигрыватель из папки PathToPlayer и передаёт ему в качестве параметра командной строки расположение проигрываемого видео файла:
6+
7+``` pascal
8+uses
9+ Classes, ..., LCLProc, UTF8Process;
10+
11+...
12+
13+implementation
14+
15+procedure TMainForm.Button1Click(Sender: TObject);
16+var
17+ Player: TProcessUTF8;
18+begin
19+ Player:=TProcessUTF8.Create(nil);
20+ try
21+ Player.CommandLine:=PathToPlayer+' '+ParametersAndMediaFile;
22+ Player.Execute;
23+ finally
24+ Player.Free;
25+ end;
26+end;
27+```
28+
29+Следующий пример демонстрирует, как запустить и воспроизвести видео в проигрывателе mplayer из под Linux:
30+
31+``` pascal
32+uses
33+ Classes, ..., FileUtil, LCLProc, UTF8Process;
34+
35+...
36+
37+implementation
38+
39+procedure TMainForm.Button1Click(Sender: TObject);
40+var
41+ Player: TProcessUTF8;
42+ Filename: String;
43+ PlayerPath: String;
44+ PlayerParams: String;
45+begin
46+ Filename:='/home/username/video.mpg';//путь к нужному видео файлу
47+ PlayerPath:=FindDefaultExecutablePath('mplayer');//ищем расположение в системе программы mplayer
48+ PlayerParams:='"'+Filename+'"';//задаём в качестве параметра командной строки путь к файлу
49+ Player:=TProcessUTF8.Create(nil);
50+ try
51+ Player.CommandLine:=PlayerPath+' '+PlayerParams;//формируем командную строку
52+ Player.Execute;//запускаем программу
53+ finally
54+ Player.Free;
55+ end;
56+end;
57+```
58+
59+## VFW - Video для Windows
60+
61+Захват и воспроизведение видео потоков от TV карты или веб-камеры при работе в ОС Windows ([[Glossary|VFW]] [[Glossary|API]]), можно задействовать, используя [[SysRec]].
62+
63+## MPlayer для Linux gtk2/X
64+
65+**mplayer** - это проигрыватель с открытым исходным кодом. С помощью компонента mplayer для Lazarus, вы сможете написать собственный видеопроигрыватель на его основе. Скачать его можно здесь:
66+
67+ svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/mplayer mplayer
68+
69+# Воспроизведение звуков
70+
71+## Только для Windows: использование Windows API
72+
73+Вы можете использовать Windows API для воспроизведения wav файлов:
74+
75+``` pascal
76+...
77+uses MMSystem;
78+...
79+sndPlaySound('C:\sounds\test.wav', snd_Async or snd_NoDefault);
80+```
81+
82+Данный код вызовет ошибку, если в пути поиска к файлу будут содержаться не латинские буквы. Поэтому более правильно производить конвертацию строки с путём поиска в системную кодировку, как в данном примере:
83+
84+``` pascal
85+ sndPlaySound(pchar(UTF8ToSys('C:\sounds\test.wav')), snd_Async or snd_NoDefault);
86+```
87+
88+Помните, это не кросс-платформенный код!
89+
90+## Сторонние библиотеки для работы со звуком
91+
92+Ниже приведён небольшой список библиотек, каторые могут быть использованы в Lazarus:
93+
94+- [[ACS|Audio Component Suite]]
95+- <http://www.noeska.com/doal/tutorials.aspx> - Open AL
96+- <http://sourceforge.net/projects/audorra/> - Audorra Library
97+- <http://sourceforge.net/projects/omega-engine/files/> - OMEGA Engine. Проект мертв, но очень прост в использовании:
98+
99+``` pascal
100+Media_Play('Music.mp3', TRUE);
101+```
102+
103+- <http://www.afterwarp.net/resources/soundlib> - Squall sound
104+
105+# Смотрите так же
106+
107+- [[Audio libraries|Аудио библиотеки]]
108+
109+---
110+*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](/wiki-contact).*

Back to history