alutCreateBufferHelloWorld

Aus DGL Wiki
Version vom 10. März 2009, 19:49 Uhr von DGLBot (Diskussion | Beiträge) (Der Ausdruck ''<cpp>(.*?)</cpp>'' wurde ersetzt mit ''<source lang="cpp">$1</source>''.)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

alutCreateBufferHelloWorld

Name

alutCreateBufferHelloWorld - Erzeugt einen Puffer mit einem "Hello, world!"-Sound.


Delphi-Spezifikation

function alutCreateBufferHelloWorld: TALuint;


Parameter

Diese Funktion hat keine Parameter.


Beschreibung

Die Funktion alutCreateBufferHelloWorld erzeugt einen OpenAL-Puffer, welcher Audiodaten enthält, wie jemand "Hello, world!" sagt. Im Erfolgsfall wird der Name des Puffers zurückgegeben, bei Fehlschlag ist der Rückgabewert AL_NONE.


Hinweise

Falls bei der Ausführung ein Fehler auftritt, kann dieser mit alutGetError erfragt werden.


Fehlermeldungen

ALUT_ERROR_AL_ERROR_ON_ENTRY wird generiert, sofern beim Aufruf der Funktion bereits ein AL-Fehlerstatus vorhanden war. (Siehe auch alGetError.)

ALUT_ERROR_ALC_ERROR_ON_ENTRY wird generiert, wenn beim Aufruf der Funktion bereits ein ALC-Fehlerstatus vorhanden war. (Siehe auch alcGetError.)

ALUT_ERROR_BUFFER_DATA wird generiert, falls beim Befüllen eines AL-Puffers mit Audiodaten ein Fehler auftrat.

ALUT_ERROR_GEN_BUFFERS wird generiert, wenn beim Erzeugen des Puffers ein Fehler auftrat.

ALUT_ERROR_INVALID_OPERATION wird generiert, falls die ALUT nicht initialisiert wurde. (Siehe alutInit.)

ALUT_ERROR_NO_CURRENT_CONTEXT wird generiert, wenn es keinen aktuellen AL-Kontext gibt. (Siehe alcMakeContextCurrent.)

ALUT_ERROR_OUT_OF_MEMORY wird generiert, sofern nicht genügend Speicher zur Verfügung steht.


Beispiel

Als Beispiel sei hier eines dieser traditionellen "Hello world!"-Programme angeführt, wie es sie für viele Programmiersprachen oder Bibliotheken gibt, jedoch besteht der wesentliche Unterschied darin, dass diesmal nicht ein einfacher Schriftzug auf den Bildschirm geschrieben wird, sondern dass jemand tatsächlich "Hello, world!" sagt.

#include <stdlib.h>
#include <AL/alut.h>

int main (int argc, char **argv)
{
  //Variablen fuer Name des Puffers und des Source-Objektes
  ALuint helloBuffer, helloSource;

  //Initialisierung von ALUT
  alutInit (&argc, argv);
  //Puffer anlegen und Puffername speichern
  helloBuffer = alutCreateBufferHelloWorld();
  //ein Source-Objekt erzeugen
  alGenSources(1, &helloSource);
  //Puffer dem erstellten Source-Objekt zuweisen
  alSourcei(helloSource, AL_BUFFER, helloBuffer);
  //Sound abspielen
  alSourcePlay(helloSource);
  //eine Sekunde warten, damit der Klang abgespielt werden kann
  alutSleep(1.0);
  //ALUT beenden
  alutExit();
  return 0;
}

In dem Programm fehlen jegliche Fehlerabfragen, um es einfach zu halten.


Siehe auch

alutLoadMemoryHelloWorld, alutCreateBufferFromFile