Die Qualität der Soundausgabe Die Elemente nChannels, lSamplesPerSec und nBitsPerSample bestimmen die Qualität der Soundausgabe. nChannels gibt an, auf wie vielen Kanälen die Wiedergabe erfolgen soll, also ob der Sound in Mono (1) oder Stereo (2) ausgegeben wird. In lSamplesPerSecond wird hinterlegt, wie viele Samples pro Sekunde ausgegeben werden. Eine CD erreicht eine Qualität von 44100 Samples pro Sekunde ("Hertz", Abkürzung Hz). Bei der Hälfte, also bei 22050 Samples pro Sekunde, spricht man von Radioqualität, was für die meisten Geräusche wie Explosionen völlig ausreicht. Senkt man die Qualität allerdings noch weiter, etwa auf 11025 Hz, sind Klangeinbußen und ein hörbares Rauschen kaum zu vermeiden. Im Element nBitsPerSample können Sie angeben, wie jedes einzelne Sample beschaffen ist. In Frage kommen derzeit die Werte 8 Bit und 16 Bit pro Sample. Je höher dieser Wert, desto besser der Sound. Auf eine CD kommen derzeit 16 Bit pro Sample zum Einsatz - in nicht allzu ferner Zukunft werden jedoch DVDs mit einer Samplingfrequenz von 96000 und einer Anzahl von 48 Bits pro Sample aufgezeichnet und wiedergegeben. Die beiden letzten Elemente der WAVEFORMATEX-Struktur namens nBlockAlign und lAverageBytesSec geben einige Eckdaten für die benötigte Bandbreite beim Abspielen des Sounds an. nBlockAlign ist für das Soundsystem ein Hinweis darauf, wie viele Bytes pro Sample zu verarbeiten sind. Hier wird einfach die Anzahl der Kanäle mit der Anzahl der pro Kanal auszugebenden Bytes angegeben. Dazu wird die Angabe der Bits pro Sample einfach durch 8 dividiert (ein Byte besteht aus 8 Bit). LAverageBytesSec gibt schließlich die zum Abspielen benötigte Bandbreite an. Das ist die Datenmenge in Bytes, die pro Sekunde durch das Soundsystem geschleust werden müssen, um den Sound abzuspielen. Sind sowohl die WAVEFORMATEX- als auch die DSBUFFERDESC-Struktur initialisiert, steht dem Aufruf von CreateSoundBufferFromFile nichts mehr im Weg. Dieser Methode wird einfach der Dateiname der zu ladenden Sounddatei sowie die beiden Strukturen übergeben. Das Ergebnis des Aufrufs ist dann ein neues Soundbuffer-Objekt, das zum Abspielen eines Sounds herangezogen wird. Dazu muss nur die Methode Play aufgerufen werden, woraufhin der Sound sofort losspielt. Das Schöne daran: es lassen sich mehrere unabhängige Soundbuffer erstellen, die jeweils ein bestimmtes Geräusch repräsentieren und völlig unabhängig voneinander abgespielt werden können:
Die in einem System installierten Audio-Kodecs werden über die Systemeigenschaften und dort über die MultiMedia-Eigenschaften angezeigt. Moor-Donuts Die hier vorgestellten Techniken (und ein paar mehr) fließen alle in einem kleinen Spiel zusammen, das auf der Heft-CD im Verzeichnis \Quellen\DirectX\DirectX7 zu finden ist. Bei diesem Spiel handelt es sich um das allseits bekannte und Hysterie auslösende "Moor-Donut". Unschuldige kleine Donuts fliegen durch eine Berglandschaft und können nach Herzenslust "abgeballert" werden. Das Fadenkreuz wird mit der Maus bewegt, geschossen wird mit der linken Maustaste. Ist das Magazin von fünf Schüssen leer, wird mit der rechten Maus nachgeladen - ein Spaß für die ganze Familie ;-) ur
Unschuldige Moor-Donuts - zum Abschuss freigegeben. Diskussion zum Beitrag Mehr zum Thema: |

