DirectSound-Grundlagen  

DirectSound ist die Soundkomponente von DirectX und bietet die Unterstützung von effizienter Hardware-Mischung, direktem Zugriff auf die Soundhardware und die Fähigkeit, 3D-Sound zu realisieren. Sie können sich DirectSound als Soundpuffer-Manager vorstellen. Das primäre Ziel beim Design von DirectSound ist die Implementierung einer effizienten und geräteunabhängigen Schnittstelle zu der Soundhardware, die Hardware-Beschleunigung bietet. DirectSound bietet eine standardisierte Software-Funktionalität, die nach Möglichkeit von Hardware-Funktionen übernommen wird. Dieses offene Design erlaubt es DirectSound, auch die Vorteile zukünftiger Soundhardware zu nutzen.
 
Audiomischung mit geringer Latenz

Das wichtigste Feature von DirectSound ist die Audiomischung mit geringer Latenz. Latenz ist die Verzögerung zwischen dem programmgesteuerten Abspielen und dem eigentlichen Hören eines Sounds. Geringe Latenz bedeutet, dass die Verzögerung sehr klein ist, was eine gute Sache ist. Ideal wäre eine so kurze Verzögerung, dass der Hörer sie überhaupt nicht wahrnehmen würde. In DirectSound ist die Latenz nie größer als 20 Millisekunden, was für die menschliche Wahrnehmung so gut wie nichts ist.

Mischung mit geringer Latenz ist für Spiele und andere Multimedia-Anwendungen sehr wichtig, da sie oft einen Sound in Zusammenhang mit einem grafischen Ereignis abspielen möchten. Stellen Sie sich vor, Sie möchten in einem Spiel eine Explosion darstellen, bei der der Sound mit der grafischen Darstellung gleichzeitig zu hören ist. Der Knall sollte dabei nicht eine halbe Sekunde nach dem Verwehen des Rauchs ertönen, sondern genau dann, wenn die Explosion beginnt. DirectSound bietet eine brauchbare Performance für die Lösung dieses Problems.

DirectSound ist jedoch nicht perfekt, wenn es um Mischung mit geringer Latenz geht. Hat der Anwender keinen brauchbaren DirectSound-Treiber, muss sich DirectSound auf die HAL-Emulation verlassen, was eine höhere Latenz verursacht. Hat der Anwender also keinen DirectSound-Treiber, ist die hörbare Verzögerung mehr als wahrscheinlich. Glücklicherweise unterstützen jedoch die meisten Windows-98-Soundkartentreiber DirectSound, so dass dies selten ein Problem ist.
 
Hardware-Beschleunigung

Ein weiteres wichtiges Feature von DirectSound ist, dass es eine Hardware-Beschleunigung nutzen kann. DirectSound ist zur Ausführung aller Funktionen in der Software ausgelegt, versucht jedoch immer, nach Möglichkeit eine Hardware-Beschleunigung zu nutzen. Dies bedeutet, dass das eigentliche Mischen der Soundpuffer im Soundpufferspeicher der Hardware stattfindet, anstatt von der Software durchgeführt zu werden. Da Hardware wesentlich schneller als Software ist, erhöhen alle in der Hardware ausgeführten Funktionen die Performance.

Das Schöne an der Hardware-Beschleunigung unter DirectSound ist, dass sie völlig automatisch stattfindet. Sie müssen keinen speziellen Code schreiben, der die Hardware abfragt und ggf. die Hardware-Beschleunigung implementiert. Sollten Sie das Besondere daran nicht erkennen, lassen Sie sich versichern, dass dies ein großer Vorteil für Entwickler ist. Wenn Sie Ihre Software einfach für DirectSound entwickeln, können Sie sicher sein, dass sie eine Hardware-Beschleunigung vollständig unterstützt.
 
3D Audio

Vor Jahren dachten die meisten 3D Audio wäre ein Gimmick. Wie könnte man wohl einen 3D-Effekt mit nur zwei Lautsprechern erzeugen ? Nun, die Idee hinter 3D Audio hat nicht so viel mit den Lautsprechern zu tun als mit dem Kontext eines Spiels oder einer Multimedia-Anwendung. 3D Audio hat mit der Zuordnung eines Sounds zu einer räumlichen Position zu tun, damit dessen Attribute (Lautstärke, Balance, Frequenz und so weiter) entsprechend gesetzt werden können. Dies beinhaltet das Verändern der Soundattribute je nach Verhältnis der Position des Sounds und derjenigen des Hörers im Spiel. Findet eine Explosion zu Ihrer Rechten statt, sollte der Sound auch primär aus dem rechten Lautsprecher kommen.

DirectSound 3D ergänzt Audio um eine räumliche Dimension, die die Art der menschlichen Wahrnehmung von Sound berücksichtigt. Der wichtigste räumliche Hinweis bei Sound ist dessen Lautstärke, die je nach Abstand vom Hörer variiert. Ein subtiler Hinweis ist die leichte Dämpfung, wenn ein Sound von hinten ertönt. DirectSound berücksichtigt diese Hinweise, um dem Anwender das Gefühl zu geben, der Sound käme aus einer bestimmten Richtung.
 
DirectSound und Windows-Waveformate

DirectSound unterstützt nicht nur alle Standard-Waveformate von Windows, sondern ermöglicht auch das Mischen verschiedener Formate, wobei die entsprechende Konvertierung automatisch stattfindet. Dennoch ist es klüger, alle Ihre Sounds in demselben Format zu halten, damit DirectSound so wenig Konvertierung wie möglich vornehmen muss.

Unterstützt werden folgenden Waveformate:

8 oder 16 Bit pro Sample
11KHz,
22KHz oder 44KHz 
Mono
oder Stereo


Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX-Forum | VB.Net | .Net-Forum | Foren-Archiv | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report

Letzte Aktualisierung, Dienstag, 04. August 2001