Multimedia Programming/de

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)


Videos abspielen


Einen Videoplayer ausführen


Wenn Sie die Kommandozeile und den Umgang mit Parametern kennen, können Sie TProcessUTF8 verwenden, um den Player zu starten:

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;

...



Ein Beispiel, wie man unter Linux den mplayer (oder vlc) zum wiedergeben eines Videos startet:

uses 
  Classes, ..., FileUtil, LCLProc, UTF8Process;

...

implementation

...

procedure TMainForm.Button1Click(Sender: TObject);
var
  Player: TProcessUTF8;
  Filename, PlayerPath, PlayerParams: String;
begin
  Filename := '/home/username/video.mpg';
  PlayerPath := FindDefaultExecutablePath('mplayer');
  // Alternativ kann man mit der Methode auch den Player VLC verwenden
  // PlayerPath := FindDefaultExecutablePath('vlc');
  PlayerParams := '"' + Filename + '"';
  Player:=TProcessUTF8.Create(nil);
  try
    Player.CommandLine := PlayerPath + ' ' + PlayerParams;
    Player.Execute;
  finally
    Player.Free;
  end;
end;

...


MPlayer for Linux gtk2/X

mplayer ist ein freier Open Source Video-Player. Es existiert ein LCL Control mit dem Namen TMPlayerControl das den MPlayer so einbettet, dass Sie damit Ihre eigenen Video-Player erstellen können oder Sie können in Ihrer Anwendung ein Video abspielen.
Sie können das Control hier herunterladen:

svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/mplayer mplayer


Sounds wiedergeben

Windows only: using the Windows API

You can use the Windows API to play e.g. wav files:

...
uses MMSystem;
...
sndPlaySound('C:\sounds\test.wav', snd_Async or snd_NoDefault);

Der fehlerfreie Weg, um nicht lateinische Pfad- und Dateinamen zu verwenden ist:

sndPlaySound(pchar(UTF8ToSys('C:\sounds\test.wav')), snd_Async or snd_NoDefault);


Die Audio Component Suite verwenden

Lesen Sie die Seite über die Audio Component Suite

Die OpenAL Library verwenden

Ein Tutorial für Delphi finden Sie hier: Delphi OpenAL - Tutorials Es gibt für Free Pascal ein Beispiel für den Zugriff auf OpenAl. Sie finden das Beispiel unter /usr/share/doc/fpc-[Versionsnummer]/openal/examples bzw. usage examples

BASS

Die BASS Bibliothek kann von den Seiten un4seen und un4seen forum heruntergeladen werden.
Es gibt eine DJ Anwendung für Windows, Linux und MAC OSX. Die Anwendung ist in Lazarus geschrieben und verwendet die Bibliothek BASS miXimum

Audorra Bibliothek

Die Audorra Bibliothek arbeitet gut mit Lazarus zusammen: [1]

PortAudio

Es gibt zahlreiche Anbindungen für PortAudio. PortAudio ist eine Cross-Plattform und Open Source Bibliothek zur Wiedergabe und zur Aufnahme von Sound-Dateien.
Der Forum User Fredvs hat eine Pascal Unit geschrieben, die PortAudio dynamisch lädt: Forum

SDL + SDL_mixer

Die Bibliothek SDL wird mit einem einfachen Klangsystem geliefert und ist eine flexible Lösung.
Die Units für den Zugriff auf die SDL Bibliotheken finden Sie im Verzeichnis /usr/share/fpcsrc/[Versionsnummer]/packages/sdl.

FMOD

Ist eine Closed Source Lösung. FMOD ist frei für nicht kommerzielle Software, für kommerzielle Software muss eine Lizenzgebühr bezahlt werden.

Squall sound

Squall sound arbeitet mit Free Pascal zusammen. Squall sound bietet 3D audio und EAX Effekte und unterstützt MP§, OGG und WAV Dateiformate.
Sound Libraries

FPSound

FPSound ist eine neu entwickelte Bibliothek. FPSound hat unabhängige Module zum lesen, schreiben und abspielen von Klangdateien (Sound Dateien) und eine Möglichkeit zum Bearbeiten der Dateien.
Siehe FPSound

UOS (United OpenLib of Sound)

UOS : United OpenLib of Sound. UOS vereinheitlicht die besten open-source Klangbibliotheken.
Sie können mit UOS:

  • mp3, ogg, wav, flac,... Klangdateien anhören.
  • Bietet 16, 32 oder 32 Bit Fliesskommaauflösung.

UOS verwendet die PortAudio, SndFile und Mpg123 Klang Bibliotheken.

Das Package enthält:

  • Beispiele
  • Binäre Bibliotheken für Linux 32/64, Windows 32/64 und MAC OSX 32

Siehe UOS