OpenAL

OpenAL
Desarrollador(es)
Loki Software
http://www.openal.org/
Información general
Última versión estable 2.1.0.0
Febrero de 2010
Género Interfaz de programación de aplicaciones
Sistema operativo Multiplataforma
Licencia LGPL hasta la versión v1.1, las posteriores propietarias
[ editar datos en Wikidata]

Open Audio Library es una API de audio multiplataforma desarrollada por Creative Labs para el renderizado eficiente de audio posicional y multicanal en tres dimensiones. Está ideada para su uso en videojuegos y el estilo y Microsoft Xbox y formato PCM, bien en 8 o 16 bits, en formato mono o estéreo. El motor de renderizado se encarga de todos los cálculos necesarios como la atenuación, doppler, etc.

Inicialización y cerrado de la librería

La librería puede (y debe) ser inicializada en el código para ser usada. Para ello, se deben escribir las líneas:

  // Inicializar dispositivos de audio.
  ALCdevice *device;
  ALCcontext *context;

  // Abrir e iniciar un dispositivo con las opciones por defecto.
  device = alcOpenDevice(NULL);
  if(!device)
  {
    // Gestionar error (salir...)
  }

  // Generar un contexto OpenAL.
  context = alcCreateContext(device, NULL);
  if(context == NULL || alcMakeContextCurrent(context) == ALC_FALSE)
  {
    // Limpiar dispositivo
    if(context != NULL)
      alcDestroyContext(context);
    alcCloseDevice(device);
    
    // Y gestionar error (salir...)
    // ...
  }

  // Selccionar un modelo de ganancia sobre la distancia de escucha (lineal acotado, en este caso).
  alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED);

  // ...

Y, en contraparte, se deben cerrar la libería una vez se ha terminado de usar:

  ALCdevice *device;  // Dispositivo.
  ALCcontext *context;    // Contexto.

  context = alcGetCurrentContext();
  if(context == NULL)
      return;

  device = alcGetContextsDevice(context);

  alcMakeContextCurrent(NULL); // Desactivar el contexto actual.
  alcDestroyContext(context);      // Destruir el contexto usado.
  alcCloseDevice(device);      // Cerrar el dispositivo de audio.
Other Languages
čeština: OpenAL
Deutsch: OpenAL
English: OpenAL
suomi: OpenAL
français: OpenAL
galego: OpenAL
italiano: OpenAL
日本語: OpenAL
한국어: OpenAL
Nederlands: OpenAL
norsk nynorsk: OpenAL
polski: OpenAL
português: OpenAL
русский: OpenAL
svenska: OpenAL
Türkçe: OpenAL
українська: OpenAL
中文: OpenAL