Multimedia Programming/ko

From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 APISysRec와 함께 사용하면 된다.

리눅스 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을 갖지 않는다:

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를 동적으로 로드하는 파스칼 유닛을 작성하였다:

[3]

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를 보세요

더 볼 것