Multimedia Programming/de
│
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