package al
import "golang.org/x/mobile/exp/audio/al"
Package al provides OpenAL Soft bindings for Go.
Calls are not safe for concurrent use.
More information about OpenAL Soft is available at http://www.openal.org/documentation/openal-1.1-specification.pdf.
In order to use this package on Linux desktop distros, you will need OpenAL library as an external dependency. On Ubuntu 14.04 'Trusty', you may have to install this library by running the command below.
sudo apt-get install libopenal-dev
When compiled for Android, this package uses OpenAL Soft. Please add its license file to the open source notices of your application. OpenAL Soft's license file could be found at http://repo.or.cz/w/openal-soft.git/blob/HEAD:/COPYING.
Index ¶
- Constants
- func CloseDevice()
- func DeleteBuffers(buffer ...Buffer)
- func DeleteSources(source ...Source)
- func DeviceError() int32
- func Disable(c Capability)
- func DistanceModel() int32
- func DopplerFactor() float32
- func DopplerVelocity() float32
- func Enable(c Capability)
- func Enabled(c Capability) bool
- func Error() int32
- func Extensions() string
- func GetListenerf(param int) float32
- func GetListenerfv(param int, v []float32)
- func GetString(param int) string
- func Getb(param int) bool
- func Getbv(param int, v []bool)
- func Getf(param int) float32
- func Getfv(param int, v []float32)
- func Geti(param int) int32
- func Getiv(param int, v []int32)
- func ListenerGain() float32
- func OpenDevice() error
- func PauseSources(source ...Source)
- func PlaySources(source ...Source)
- func Renderer() string
- func RewindSources(source ...Source)
- func SetDistanceModel(v int32)
- func SetDopplerFactor(v float32)
- func SetDopplerVelocity(v float32)
- func SetListenerGain(v float32)
- func SetListenerOrientation(v Orientation)
- func SetListenerPosition(v Vector)
- func SetListenerVelocity(v Vector)
- func SetListenerf(param int, v float32)
- func SetListenerfv(param int, v []float32)
- func SetSpeedOfSound(v float32)
- func SpeedOfSound() float32
- func StopSources(source ...Source)
- func Vendor() string
- func Version() string
- type Buffer
- func GenBuffers(n int) []Buffer
- func (b Buffer) Bits() int32
- func (b Buffer) BufferData(format uint32, data []byte, freq int32)
- func (b Buffer) Channels() int32
- func (b Buffer) Frequency() int32
- func (b Buffer) Geti(param int) int32
- func (b Buffer) Size() int32
- func (b Buffer) Valid() bool
- type Capability
- type Orientation
- type Source
- func GenSources(n int) []Source
- func (s Source) BuffersProcessed() int32
- func (s Source) BuffersQueued() int32
- func (s Source) Gain() float32
- func (s Source) Getf(param int) float32
- func (s Source) Getfv(param int, v []float32)
- func (s Source) Geti(param int) int32
- func (s Source) MaxGain() float32
- func (s Source) MinGain() float32
- func (s Source) OffsetByte() int32
- func (s Source) OffsetSample() int32
- func (s Source) OffsetSeconds() int32
- func (s Source) Orientation() Orientation
- func (s Source) Position() Vector
- func (s Source) QueueBuffers(buffer ...Buffer)
- func (s Source) SetGain(v float32)
- func (s Source) SetMaxGain(v float32)
- func (s Source) SetMinGain(v float32)
- func (s Source) SetOrientation(o Orientation)
- func (s Source) SetPosition(v Vector)
- func (s Source) SetVelocity(v Vector)
- func (s Source) Setf(param int, v float32)
- func (s Source) Setfv(param int, v []float32)
- func (s Source) Seti(param int, v int32)
- func (s Source) State() int32
- func (s Source) UnqueueBuffers(buffer ...Buffer)
- func (s Source) Velocity() Vector
- type Vector
Constants ¶
const ( InvalidName = 0xA001 InvalidEnum = 0xA002 InvalidValue = 0xA003 InvalidOperation = 0xA004 OutOfMemory = 0xA005 )
Error returns one of these error codes.
const ( InverseDistance = 0xD001 InverseDistanceClamped = 0xD002 LinearDistance = 0xD003 LinearDistanceClamped = 0xD004 ExponentDistance = 0xD005 ExponentDistanceClamped = 0xD006 )
Distance models.
const ( Initial = 0x1011 Playing = 0x1012 Paused = 0x1013 Stopped = 0x1014 )
A source could be in the state of initial, playing, paused or stopped.
const ( FormatMono8 = 0x1100 FormatMono16 = 0x1101 FormatStereo8 = 0x1102 FormatStereo16 = 0x1103 )
Audio formats. Buffer.BufferData accepts one of these formats as the data format.
const CapabilityDistanceModel = Capability(0x200)
CapabilityDistanceModel represents the capability of specifying a different distance model for each source.
Functions ¶
func CloseDevice ¶
func CloseDevice()
CloseDevice closes the device and frees related resources. Calls to CloseDevice are safe for concurrent use.
func DeleteBuffers ¶
func DeleteBuffers(buffer ...Buffer)
DeleteBuffers deletes the buffers.
func DeleteSources ¶
func DeleteSources(source ...Source)
DeleteSources deletes the sources.
func DeviceError ¶
func DeviceError() int32
DeviceError returns the last known error from the current device.
func Disable ¶
func Disable(c Capability)
Disable disables a capability.
func DistanceModel ¶
func DistanceModel() int32
DistanceModel returns the distance model.
func DopplerFactor ¶
func DopplerFactor() float32
DopplerFactor returns the doppler factor.
func DopplerVelocity ¶
func DopplerVelocity() float32
DopplerVelocity returns the doppler velocity.
func Enable ¶
func Enable(c Capability)
Enable enables a capability.
func Enabled ¶
func Enabled(c Capability) bool
Enabled reports whether the specified capability is enabled.
func Error ¶
func Error() int32
Error returns the most recently generated error.
func Extensions ¶
func Extensions() string
Extensions returns the enabled extensions.
func GetListenerf ¶
GetListenerf returns the float32 value of the listener parameter.
func GetListenerfv ¶
GetListenerfv returns the float32 vector value of the listener parameter.
func GetString ¶
GetString returns the string value of the given parameter.
func Getb ¶
Getb returns the bool value of the given parameter.
func Getbv ¶
Getbv returns the bool vector value of the given parameter.
func Getf ¶
Getf returns the float32 value of the given parameter.
func Getfv ¶
Getfv returns the float32 vector value of the given parameter.
func Geti ¶
Geti returns the int32 value of the given parameter.
func Getiv ¶
Getiv returns the int32 vector value of the given parameter.
func ListenerGain ¶
func ListenerGain() float32
ListenerGain returns the total gain applied to the final mix.
func OpenDevice ¶
func OpenDevice() error
OpenDevice opens the default audio device. Calls to OpenDevice are safe for concurrent use.
func PauseSources ¶
func PauseSources(source ...Source)
PauseSources pauses the sources.
func PlaySources ¶
func PlaySources(source ...Source)
PlaySources plays the sources.
func Renderer ¶
func Renderer() string
Renderer returns the renderer information.
func RewindSources ¶
func RewindSources(source ...Source)
RewindSources rewinds the sources to their beginning positions.
func SetDistanceModel ¶
func SetDistanceModel(v int32)
SetDistanceModel sets the distance model.
func SetDopplerFactor ¶
func SetDopplerFactor(v float32)
SetDopplerFactor sets the doppler factor.
func SetDopplerVelocity ¶
func SetDopplerVelocity(v float32)
SetDopplerVelocity sets the doppler velocity.
func SetListenerGain ¶
func SetListenerGain(v float32)
SetListenerGain sets the total gain that will be applied to the final mix.
func SetListenerOrientation ¶
func SetListenerOrientation(v Orientation)
SetListenerOrientation sets the orientation of the listener.
func SetListenerPosition ¶
func SetListenerPosition(v Vector)
SetListenerPosition sets the position of the listener.
func SetListenerVelocity ¶
func SetListenerVelocity(v Vector)
SetListenerVelocity sets the velocity of the listener.
func SetListenerf ¶
SetListenerf sets the float32 value for the listener parameter.
func SetListenerfv ¶
SetListenerfv sets the float32 vector value of the listener parameter.
func SetSpeedOfSound ¶
func SetSpeedOfSound(v float32)
SetSpeedOfSound sets the speed of sound, its unit should be meters per second (m/s).
func SpeedOfSound ¶
func SpeedOfSound() float32
SpeedOfSound is the speed of sound in meters per second (m/s).
func StopSources ¶
func StopSources(source ...Source)
StopSources stops the sources.
func Vendor ¶
func Vendor() string
Vendor returns the vendor.
func Version ¶
func Version() string
Version returns the version string.
Types ¶
type Buffer ¶
type Buffer uint32
A buffer represents a chunk of PCM audio data that could be buffered to an audio source. A single buffer could be shared between multiple sources.
func GenBuffers ¶
GenBuffers generates n new buffers. The generated buffers should be deleted once they are no longer in use.
func (Buffer) Bits ¶
Bits return the number of bits used to represent a sample.
func (Buffer) BufferData ¶
BufferData buffers PCM data to the current buffer.
func (Buffer) Channels ¶
Channels return the number of the audio channels.
func (Buffer) Frequency ¶
Frequency returns the frequency of the buffer data in Hertz (Hz).
func (Buffer) Geti ¶
Geti returns the int32 value of the given parameter.
func (Buffer) Size ¶
Size returns the size of the data.
func (Buffer) Valid ¶
Valid reports whether the buffer exists and is valid.
type Capability ¶
type Capability int32
Capability represents OpenAL extension capabilities.
type Orientation ¶
type Orientation struct { // Forward vector is the direction that the object is looking at. Forward Vector // Up vector represents the rotation of the object. Up Vector }
Orientation represents the angular position of an object in a right-handed Cartesian coordinate system. A cross product between the forward and up vector returns a vector that points to the right.
func ListenerOrientation ¶
func ListenerOrientation() Orientation
ListenerOrientation returns the orientation of the listener.
type Source ¶
type Source uint32
Source represents an individual sound source in 3D-space. They take PCM data, apply modifications and then submit them to be mixed according to their spatial location.
func GenSources ¶
GenSources generates n new sources. These sources should be deleted once they are not in use.
func (Source) BuffersProcessed ¶
BuffersProcessed returns the number of the processed buffers.
func (Source) BuffersQueued ¶
BuffersQueued returns the number of the queued buffers.
func (Source) Gain ¶
Gain returns the source gain.
func (Source) Getf ¶
Getf returns the float32 value of the given parameter.
func (Source) Getfv ¶
Getfv returns the float32 vector value of the given parameter.
func (Source) Geti ¶
Geti returns the int32 value of the given parameter.
func (Source) MaxGain ¶
MaxGain returns the source's maximum gain setting.
func (Source) MinGain ¶
MinGain returns the source's minimum gain setting.
func (Source) OffsetByte ¶
OffsetByte returns the byte offset of the current playback position.
func (Source) OffsetSample ¶
OffsetSample returns the sample offset of the current playback position.
func (Source) OffsetSeconds ¶
OffsetSeconds returns the current playback position of the source in seconds.
func (Source) Orientation ¶
func (s Source) Orientation() Orientation
Orientation returns the orientation of the source.
func (Source) Position ¶
Position returns the position of the source.
func (Source) QueueBuffers ¶
QueueBuffers adds the buffers to the buffer queue.
func (Source) SetGain ¶
SetGain sets the source gain.
func (Source) SetMaxGain ¶
SetMaxGain sets the source's maximum gain setting.
func (Source) SetMinGain ¶
SetMinGain sets the source's minimum gain setting.
func (Source) SetOrientation ¶
func (s Source) SetOrientation(o Orientation)
SetOrientation sets the orientation of the source.
func (Source) SetPosition ¶
SetPosition sets the position of the source.
func (Source) SetVelocity ¶
SetVelocity sets the source's velocity.
func (Source) Setf ¶
Setf sets a float32 value for the given parameter.
func (Source) Setfv ¶
Setfv sets a float32 vector value for the given parameter.
func (Source) Seti ¶
Seti sets an int32 value for the given parameter.
func (Source) State ¶
State returns the playing state of the source.
func (Source) UnqueueBuffers ¶
UnqueueBuffers removes the specified buffers from the buffer queue.
func (Source) Velocity ¶
Velocity returns the source's velocity.
type Vector ¶
type Vector [3]float32
Vector represents an vector in a Cartesian coordinate system.
func ListenerPosition ¶
func ListenerPosition() Vector
ListenerPosition returns the position of the listener.
func ListenerVelocity ¶
func ListenerVelocity() Vector
ListenerVelocity returns the velocity of the listener.
Source Files ¶
al.go al_notandroid.go alc.go alc_notandroid.go const.go
- Version
- v0.0.0-20250305212854-3a7bc9f8a4de (latest)
- Published
- Mar 5, 2025
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 11 minutes ago –
Tools for package owners.