Difference between revisions of "Multimedia Programming/ru"
m (categories) |
m (Fixed syntax highlighting; removed categories included in template) |
||
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 75: | Line 75: | ||
Вы можете использовать Windows API для воспроизведения wav файлов: | Вы можете использовать Windows API для воспроизведения wav файлов: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
... | ... | ||
uses MMSystem; | uses MMSystem; | ||
Line 81: | Line 81: | ||
sndPlaySound('C:\sounds\test.wav', snd_Async or snd_NoDefault); | sndPlaySound('C:\sounds\test.wav', snd_Async or snd_NoDefault); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Данный код вызовет ошибку, если в пути поиска к файлу будут содержаться не латинские буквы. Поэтому более правильно производить конвертацию строки с путём поиска в системную кодировку, как в данном примере: <syntaxhighlight> sndPlaySound(pchar(UTF8ToSys('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> |
Помните, это не кросс-платформенный код! | Помните, это не кросс-платформенный код! | ||
Line 92: | Line 92: | ||
*http://sourceforge.net/projects/audorra/ - Audorra Library | *http://sourceforge.net/projects/audorra/ - Audorra Library | ||
*http://sourceforge.net/projects/omega-engine/files/ - OMEGA Engine. Проект мертв, но очень прост в использовании: | *http://sourceforge.net/projects/omega-engine/files/ - OMEGA Engine. Проект мертв, но очень прост в использовании: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
Media_Play('Music.mp3', TRUE); | Media_Play('Music.mp3', TRUE); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 99: | Line 99: | ||
=Смотрите так же= | =Смотрите так же= | ||
*[[Audio libraries|Аудио библиотеки]] | *[[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