alBufferData
Inhaltsverzeichnis
alBufferData
alBufferData
alBufferData - Füllt einen Puffer mit Audiodaten.
Delphi-Spezifikation
procedure alBufferData(buffer: TALuint; format: TALenum; data: Pointer; size: TALsizei, freq: TALsizei);
Parameter
buffer | Name des zu füllenden Puffers |
---|---|
format | Format der Audiodaten, welches eines der folgenden ist: AL_FORMAT_MONO8 |
data | Zeiger auf die Audiodaten |
size | Größe der Audiodaten in Bytes |
freq | Frequenz der Audiodaten |
Beschreibung
Die Prozedur füllt einen Puffer mit Audiodaten. Alle vordefinierten Audioformate verstehen sich als PCM-Daten, jedoch kann alBufferData von Erweiterungen auch genutzt werden, um andere Datentypen in einen Puffer zu laden.
Später lassen sich dann bestimmte Eckdaten eines gefüllten Puffers mit Hilfe der Funktion alGetBuffer erfragen. Unter Verwendung des Parameters AL_BITS erhält man die Anzahl der Bits pro Sample für die Daten im Puffer, AL_CHANNELS liefert die Anzahl der Audiokanäle (1 steht dabei für Mono, 2 für Stereo), AL_FREQUENCY gibt die Anzahl der Samples pro Sekunde bzw. die Frequenz in Hertz (Hz) zurück und über AL_SIZE erfährt man die Größe der im Puffer gespeicherten Daten.
Hinweise
PCM-Daten im 8-bit-Format werden als vorzeichenlose Werte im Bereich von 0 bis 255 ausgedrückt, wobei 128 einem Ausgebelevel von null entspricht. PCM-Daten im 16-bit-Format werden als vorzeichenbehaftete Werte im Bereich von -32768 bis 32767 dargestellt, der Wert 0 entspricht dort einen Ausgabelevel von null. Stereodaten werden durch ein überlappendes Format dargestellt, der linke Audiokanal kommt dabei zuerst, dann der rechte. Danach kommt das nächste Sample für den linken Kanal, darauf das für den rechten Kanal und so weiter.
Fehlermeldungen
AL_OUT_OF_MEMORY wird generiert, falls nicht genug Speicher verfügbar ist, um den Buffer anzulegen.
AL_INVALID_VALUE wird generiert, wenn der Parameter size für das angegebene Format nicht gültig ist oder falls der Pointer data der NIL-Pointer ist.
AL_INVALID_ENUM wird generiert, sofern das angegebene Format nicht existiert.
Zugehörige Wertrückgaben
alGetBuffer mit den Tokens AL_BITS, AL_CHANNELS, AL_FREQUENCY oder AL_SIZE
Siehe auch
'