# OpenAL Audio Bindings

## Introduction

Platform independent audio bindings. Requires the » OpenAL library.

## Installation

This » PECL extension is not bundled with PHP.

Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » http://pecl.php.net/package/openal.

The DLL for this PECL extension may be downloaded from either the » PHP Downloads page or from » http://pecl4win.php.net/

## Runtime Configuration

This extension has no configuration directives defined in php.ini.

## Resource Types

This extension defines four resource types: Open AL(Device) - Returned by openal_device_open(), Open AL(Context) - Returned by openal_context_create(), Open AL(Buffer) - Returned by openal_buffer_create(), and Open AL(Source) - Returned by openal_source_create().

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`ALC_FREQUENCY` (integer)
  Context Attribute
`ALC_REFRESH` (integer)
  Context Attribute
`ALC_SYNC` (integer)
  Context Attribute
`AL_FREQUENCY` (integer)
  Buffer Setting
`AL_BITS` (integer)
  Buffer Setting
`AL_CHANNELS` (integer)
  Buffer Setting
`AL_SIZE` (integer)
  Buffer Setting
`AL_BUFFER` (integer)
  Source/Listener Setting (Integer)
`AL_SOURCE_RELATIVE` (integer)
  Source/Listener Setting (Integer)
`AL_SOURCE_STATE` (integer)
  Source/Listener Setting (Integer)
`AL_PITCH` (integer)
  Source/Listener Setting (Float)
`AL_GAIN` (integer)
  Source/Listener Setting (Float)
`AL_MIN_GAIN` (integer)
  Source/Listener Setting (Float)
`AL_MAX_GAIN` (integer)
  Source/Listener Setting (Float)
`AL_MAX_DISTANCE` (integer)
  Source/Listener Setting (Float)
`AL_ROLLOFF_FACTOR` (integer)
  Source/Listener Setting (Float)
`AL_CONE_OUTER_GAIN` (integer)
  Source/Listener Setting (Float)
`AL_CONE_INNER_ANGLE` (integer)
  Source/Listener Setting (Float)
`AL_CONE_OUTER_ANGLE` (integer)
  Source/Listener Setting (Float)
`AL_REFERENCE_DISTANCE` (integer)
  Source/Listener Setting (Float)
`AL_POSITION` (integer)
  Source/Listener Setting (Float Vector)
`AL_VELOCITY` (integer)
  Source/Listener Setting (Float Vector)
`AL_DIRECTION` (integer)
  Source/Listener Setting (Float Vector)
`AL_ORIENTATION` (integer)
  Source/Listener Setting (Float Vector)
`AL_FORMAT_MONO8` (integer)
  PCM Format
`AL_FORMAT_MONO16` (integer)
  PCM Format
`AL_FORMAT_STEREO8` (integer)
  PCM Format
`AL_FORMAT_STEREO16` (integer)
  PCM Format
`AL_INITIAL` (integer)
  Source State
`AL_PLAYING` (integer)
  Source State
`AL_PAUSED` (integer)
  Source State
`AL_STOPPED` (integer)
  Source State
`AL_LOOPING` (integer)
  Source State
`AL_TRUE` (integer)
  Boolean value recognized by OpenAL
`AL_FALSE` (integer)
  Boolean value recognized by OpenAL

## Table of Contents

- openal_buffer_create — Generate OpenAL buffer
- openal_buffer_data — Load a buffer with data
- openal_buffer_destroy — Destroys an OpenAL buffer
- openal_buffer_get — Retrieve an OpenAL buffer property
- openal_buffer_loadwav — Load a .wav file into a buffer
- openal_context_create — Create an audio processing context
- openal_context_current — Make the specified context current
- openal_context_destroy — Destroys a context
- openal_context_process — Process the specified context
- openal_context_suspend — Suspend the specified context
- openal_device_close — Close an OpenAL device
- openal_device_open — Initialize the OpenAL audio layer
- openal_listener_get — Retrieve a listener property
- openal_listener_set — Set a listener property
- openal_source_create — Generate a source resource
- openal_source_destroy — Destroy a source resource
- openal_source_get — Retrieve an OpenAL source property
- openal_source_pause — Pause the source
- openal_source_play — Start playing the source
- openal_source_rewind — Rewind the source
- openal_source_set — Set source property
- openal_source_stop — Stop playing the source
- openal_stream — Begin streaming on a source