Sound mit DirectX SDK für VB

Teil 3: Sound mit DirectX SDK für VB

Das Abspielen einer Audiodatei mit der DirectX-Komponente DirectMusic ist ein mehrstufiger Prozess. Im Vorfeld benötigen Sie ein Ladeobjekt, welches die Audiodateien öffnen kann. Um es anzulegen, rufen Sie die Direct MusicLoaderCreate-Methode des DirectX8- Objekts auf und speichern den zurückgegebenen Objektverweis in einer Variablen vom Typ DirectMusic- Loader8:

Dim objDMLader As _ DirectMusicLoader8 Set objDMLader = objDX _ .DirectMusicLoaderCreate

Wenn Sie die Audiodateien nicht immer mit Pfadnamen angeben möchten, veranlassen Sie das Ladeobjekt per SetSearchDirectory- Methode dazu, den Standardordner zu verwenden. Dann können Sie sich damit begnügen, die dort gespeicherten Audiodateien allein per Dateinamen abzurufen. Das folgende Beispiel legt den Ordner der Visual-Basic- Anwendung (App.Path) als DirectMusic- Standardordner fest:

objDMLader.SetSearchDirectory _ App.Path & ""

Neben dem Lader benötigen Sie ein einzelnes Wiedergabeobjekt, das den Datenstrom zwischen der Audioquelle und dem Klang erzeugenden Software-Synthesizer kontrolliert. Die DirectMusic- PerformanceCreate-Methode des DirectX8- Objekts liefert Ihnen ein solches Objekt, das Sie in einer Variablen vom Typ DirectMusicPerformance8 speichern sollten:

Dim objDMWiedergabe As _ DirectMusicPerformance8 Set objDMWiedergabe = objDX _ .DirectMusicPerformanceCreate

Das Wiedergabeobjekt besitzt eine Methode namens InitAudio, mit der Sie die Wiedergabe einmalig initialisieren müssen. Dazu übergeben Sie der Methode das Fenster-Handle des Formulars (Me.hWnd), die Konstante DMUS_ AUDIOF_ALL sowie eine Variable vom Typ DMUS_AUDIOPARAMS, die Sie zuvor deklariert haben:

Dim dmParms As DMUS_AUDIOPARAMS objDMWiedergabe.InitAudio _ Me.hWnd, DMUS_AUDIOF_ALL, dmParms

Neben dem Wiedergabeobjekt ist mindestens ein Audiopfad erforderlich, der eine Art Ausgabekanal darstellt. Das folgende Beispiel erzeugt einen stereophonen, 64-stimmigen, aktiven Audiopfad und speichert den Verweis darauf in der Variablen objDMPfad vom Typ Direct- MusicAudioPath8:

Dim objDMPfad As _ DirectMusicAudioPath8 Set objDMPfad = objDMWiedergabe _ .CreateStandardAudioPath _ (DMUS_APATH_DYNAMIC_STEREO, _ 64, True)

Mehr zum Thema

Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
Amazon Blitzangebote
Technik-Deals

Die Highlights der Amazon Blitzangebote - heute mit Weihnachts-Angebote-Woche, Asustor-NAS, 2-TB-SSD von Samsung, Laptop-Kühler und mehr.
Tipps zum leisen PC
Tipps und Tricks

Die Komponenten eines PCs erzeugen Hitze. Lüfter sorgen meist für eine lästige Geräuschkulisse. Mit unseren Tricks wird Ihr PC flüsterleise.
SSD Mythen Tipps
Solid State Disk

SSD-Tuning - was ist wahr, was ist falsch? Wir verraten, welche SSD-Mythen Sie vergessen können und welche Tipps wirklich helfen.
Urlaubsbilder
Fotografieren im Sommer

Von Sommerlicht bis Sonnernuntergang: Unsere 7 Tipps verraten, wie Sie Urlaubsfotos richtig machen und schöne Bilder mit nachhause bringen.