Multimedia Programming/ko
│
Deutsch (de) │
English (en) │
日本語 (ja) │
한국어 (ko) │
русский (ru) │
中文(中国大陆) (zh_CN) │
비디오 재생
동영상 재생 프로그램 작성 시작
명령어 라인과 파라메터를 알고 있다면 동영상 플레이러를 시작하려면 TProcessUTF8을 사용할 수 있다:
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로 시작하려면 다음과 같이 사용한다:
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');
PlayerParams:='"'+Filename+'"';
Player:=TProcessUTF8.Create(nil);
try
Player.CommandLine:=PlayerPath+' '+PlayerParams;
Player.Execute;
finally
Player.Free;
end;
end;
VFW - 비디오 포 윈도우즈
윈도우 상에서 TV 카드나 윈도우의 비디오 스트림을 재생하거나 캡쳐 하려면 VFW API를 SysRec와 함께 사용하면 된다.
리눅스 gkt2/X용 MPlayer
mplayer 는 오픈소스 자유 동영상 플레이어로, mplayer를 포함하는 LCL 컨트롤이 있어서 자신만의 mplayer를 제작할 수도 있고 응용프로그램에서 바로 동영상을 플레이어하게 할 수 있다.
다음에서 다운로드 할 수 있다:
svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/mplayer mplayer
소리 재생
윈도우만 해당: 윈도우즈 API를 이용
wav 파일 같은 것을 재생하려면 Windows API를 사용하여야 한다:
...
uses MMSystem;
...
sndPlaySound('C:\sounds\test.wav', snd_Async or snd_NoDefault);
이것은 확실히 크로스-플랫폼이 될 수 없다
오디오 컴포넌트 수트 사용
Audio Component Suite에 관한 페이지를 읽어보세요
OepnGL 라이브러리 이용
델파이에 관한 튜토리얼을 다음에 있다: [1]
프리파스칼은 OpenAL을 접근하기 위한 유닛을 fpc/packages/openal과 usage examples에서 제공한다.
BASS
BASS 라이브러리는 http://www.un4seen.com/ 과 http://www.un4seen.com/forum/?topic=8682.0 에서 다운로드 할 수가 있다.
윈도우즈, 리눅스 및 맥 OSX용 DJ 어플리케이션이 있는데 라자루스와 Bass 라이브러리를 이용하여 제작하였다: https://sites.google.com/site/fiensprototyping/
Audiere 라이브러리
Audiere 라이브러리는 Delphi를 위한 바인딩을 가지지만 FPC와는 binding을 갖지 않는다:
- http://www.casteng.com/whypascal.shtml
- http://www.afterwarp.net/resources/soundlib
- http://code.google.com/p/audiere-bind-delphi/
Audorra 라이브러리
라자루스와 잘 동작한다:
http://sourceforge.net/projects/audorra/
OMEGA 엔진
OMEGA 엔진은 겨우 50Kb의 단일 Omega.dll 파일로 완전한 게임 엔진을 제공한다. 이것은 FLAC,OGG,MP3,MP2,AMR 및 WMA 파일을 잘 재생하며 시스템에서 설치된 오디오 코덱을 찾아 이용한다.
http://sourceforge.net/projects/omega-engine/files/
이제 프로젝트는 더 이상 진행되지 않으나 사용하기는 매우 쉽다:
Media_Play('Music.mp3', TRUE);
PortAudio
PortAudio는 다양한 툴과 동작하는 크로스-플랫폼, 오픈소스 라이브러리로 오디오 플레이백과 기록을 할 수 있다.
[[2]] 에 여러 버전이 있다.
포럼 유저인 FredvS가 PortAudio를 동적으로 로드하는 파스칼 유닛을 작성하였다:
SDL + SDL_mixer
베이직 SDL 라이브러리는 매우 간단한 사운드 시스템이다. 그 최상위층에 SDL 믹서는 더 유연한 많은 사운드 API 들을 추가했다.
FMOD
FMOD는 폐쇄된 오픈소스 솔루션이다. 비 상업용 소프트웨어에는 무료로 사용할 수 있지만 상업적인 소프트웨어에서는 라이선스에 따른 비용을 지불하여야 한다.
Squall 사운드
Squall 사운드는 FPC와 잘 동작한다. 3D 오디오와 EAX 효과를 포함하지만 MP3, OGG 및 WAV 포맷 만을 지원한다.
http://www.afterwarp.net/resources/soundlib
FPSound
FPSound는 fpspreadsheet와 fpvectorial 상에서 개발 되고 있는 새로운 라이브러리이다: 파일을 읽고, 쓰고 플레이하는 독립적인 모듈을 가지며 편집을 위한 중간표시 단계도 가진다. FPSound를 보세요