Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi SoundLib 3 beta kurz vorgestellt (https://www.delphipraxis.net/103289-soundlib-3-beta-kurz-vorgestellt.html)

CommanderK 13. Nov 2007 20:36


SoundLib 3 beta kurz vorgestellt
 
Liste der Anhänge anzeigen (Anzahl: 1)
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

CommanderK 15. Nov 2007 19:19

Projekt-Update und FLAC-Support
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo allerseits!

Das verlinkte SoundLib-Package enthält ein Update für den Demo-Player. Der hing ärgerlicherweise immer dann, wenn das aktuelle File am Ende angelangt war (Deadlock im Player selbst).

Projektdownload: Klick mich!

Wer ein wenig experimentierfreudig ist: im Anhang ist eine SoundLib-DLL, die auch FLAC-Files laden kann. Lädt und spielt auch Mehrkanal-FLACs. Einschränkungen bisher: 20- und 24 Bit-FLACs scheinen durch einen Fehler in libflac.dll relativ schnell abzubrechen; Datei-Tags werden noch nicht geladen.

Viel Spaß damit!

CommanderK 24. Jan 2008 11:24

Re: SoundLib 3 beta kurz vorgestellt
 
Hallo allerseits!

Ich hab' die zweite Beta von SoundLib3 veröffentlicht, unter anderem mit diesen Verbesserungen:

* FLAC-Support
* Zugriff auf Mixer- und Ausgabedaten
* Zugriff auf Sound Channel Maps
* Audio streaming von Benutzerapplikationen aus
* Starke Verbesserungen auf der Seite von C++ (Typensichere Variablen, Demos)
* Null-Ausgabe ohne Soundkarte jetzt auch Mehrkanalfähig (für Diskwriter)
* Überarbeitete Funktionen und Klassen für besseres Verständnis
* Wiedergabeverbesserungen unter Windows Vista
* Größe der DLL durch Aufräumarbeiten drastisch reduziert (< 90K vs. 180K)
* Viele Verbesserungen an Code und Anleitung
* Mehr Beispielprogramme

Ich würde mich freuen, wenn Ihr einen Blick darauf werft; denkt dran: Ohne Feedback (=Belohnung ;))
mag niemand arbeiten.

Projektseite: crossfire-designs.de/soundlib
Neues Zuhause: SoundLib.net

Direktdownload

Viel Spaß beim Ausprobieren! Auch für diese Version gilt: für Freeware und private Zwecke kostenlos.

Grüße,
Stefan

CommanderK 28. Jan 2008 13:52

Re: SoundLib 3 beta kurz vorgestellt
 
Hallo!

Um es nicht langweilig werden zu lassen, gleich die nächste Ankündigung: SoundLib wird ab sofort in Kooperation mit Benjamin Rosseaux entwickelt, der dem ein oder anderen vielleicht schon durch seinen Tracker (BeRoTracker) bekannt sein dürfte. Benjamins Part besteht darin, seinen Replayer an SoundLib anzupassen und sich vermehrt um die Module-Formate zu kümmern.

Was der Replayer bisher abspielen kann:
MOD, S3M, XM, IT, BRT, MT2, IMF, DMF, STM, 669, OKT, MTM, WOW, MID, MIDI, RMI

Einschränkungen:
- MIDI wird auf den Tracker-Replayer gemapped und ist daher nicht immer 100% korrekt
- Mad Tracker (MT2) kann nur auf dokumentiertem Level gespielt werden (neue Tracker enthalten undokumentierte Funktionen)
- Nur Stereo, Mehrkanal-Support folgt mit neuem Plugin-Interface von SoundLib (im Zweifelsfall lieber auf integrierten MOD-Player zurückgreifen)

Bitte beachtet, dass dies mehr eine Demo als eine voll durchgestete Erweiterung ist. Den kurzen Tests nach zu urteilen funktioniert sie ohne Probleme -- über Rückmeldungen im Fehlerfall, auch bei "krumm" abgespielten Files würde ich mich aber freuen. Am besten einfach als Attachment hier posten.

Wer noch ein paar Randinfos möchte, schaut in die beigelegte Readme.

Download:
http://www.crossfire-designs.de/down...ode/libbrt.rar


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz