Einzelnen Beitrag anzeigen

CommanderK

Registriert seit: 3. Jan 2007
5 Beiträge
 
#1

SoundLib 3 beta kurz vorgestellt

  Alt 13. Nov 2007, 21:36
Hallo allerseits!

Ich möchte Euch SoundLib 3 beta kurz vorstellen (Danke an Daniel für die freundliche Genehmigung).
SoundLib 3 eignet sich zum Mischen und Wiedergeben verschiedener Sound- und Musikformate. Im neuen Release
stand die Entwicklung der Mehrkanal- und 3D-Fähigkeiten im Vordergrund, ebenso wie die Konsolidierung
der Wiedergabe mit DirectSound und dem Wave Mapper. Als besonderes Feature gesellt sich das
nahtlose Umschalten verschiedener Soundkarten, Interfaces und Ausgabeformate hinzu -- eine
Anwendung muss bei einem Wechsel nicht neu gestartet werden.

Zielgruppe des Librarys sind vorrangig Spiele, dennoch eignet sich SoundLib auch für andere
Multimedia-Applikationen. Die Einfachheit des Interfaces und automatische Initialisierungen
erlauben einen schnellen Einstieg. Wer mehr möchte, kann dennoch zu erweiterten Funktionen greifen.

Das Library ist kostenlos für nichtkommerzielle Nutzung; weitere Details lassen sich auf der
verlinkten Seite entnehmen.

Unterstützte Dateiformate: WAV, OGG, MOD/WOW/NST, S3M, XM

Unterstützte Plattformen: Delphi 5+, MSVC++, (Lazarus/Free Pascal kompilieren, aber ungetestet)

Link: http://www.crossfire-designs.de/soundlib


Als Beispiel ein kleines Programm zum Abspielen von Audiodateien. Die Fehlerbehandlung wurde weitestgehend
entfernt, um zu zeigen, wie wenig Code nur notwendig ist, um zu einem Ergebnis zu kommen. Im Anhang
befindet sich das Projekt mit Fehlerbehandlung.

Delphi-Quellcode:
program playfile;

{$APPTYPE CONSOLE}

uses
  soundlib3;

var
  driver : tSoundInterface;
  sound : tSound;
  wave : tSoundStream;

begin
  // Initialize sound interface
  driver := tSoundInterface.create; // Selects best sound interface automatically

  // Initialize playback
  driver.startplayback(0,snd_auto,0,0,0); // Everything will be automatically set

  // Create sound collection layer
  sound := tSound.create(driver,1);

  // Try to load wave file to sound collection
  wave := tSoundFile.create(sound,'F:\cd\03_downtown.wav');

  // Put out some information
  writeln('Initialized output: '+driver.getDeviceInfo(driver.getCurrentDevice).deviceName);

  // Start playback and wait for user interruption
  wave.play;
  readln;

  // Deinitialize everything
  wave.free;
  sound.free;
  driver.stopplayback;
  driver.free;
end.
Weitere Delphi-Beispiele sind im Release-Package enthalten. So auch ein 3D-Beispielprogramm mit
Doppler-Effekt (funktioniert am besten auf Audiosystemen mit mehr als 2 Boxen)
Viel Spaß beim Ausprobieren!

Übrigens lese ich natürlich auch im Forum, falls Ihr Fehler findet: ich sammle sie

Grüße,
Stefan
Angehängte Dateien
Dateityp: dpr playfile_195.dpr (1,2 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat