跳转到内容

BlitzMax/模块/音频/OpenAL 1.1

来自维基教科书,开放世界开放书籍
AL 常量描述
AL_INVALID
AL_NONE
错误值
AL_FALSE布尔值 False。
AL_TRUE布尔值 True。
AL_SOURCE_RELATIVE指示源具有相对坐标。
AL_CONE_INNER_ANGLE定向源,内锥角,以度为单位。
范围: [0-360]
默认: 360
AL_CONE_OUTER_ANGLE定向源,外锥角,以度为单位。
范围: [0-360]
默认: 360
AL_PITCH指定要应用的音调,无论是在源处,还是在监听器处对混合结果进行指定。
范围: [0.5-2.0]
默认: 1.0
AL_POSITION指定三维空间中的当前位置。
OpenAL,与 OpenGL 一样,使用右手坐标系,在正面默认视图中 X(拇指)指向右,Y 指向上(食指),Z 指向查看者/摄像机(中指)。
要从左手坐标系切换,请将 Z 坐标的符号翻转。
监听器位置始终位于世界坐标系中。
AL_DIRECTION指定当前方向。
AL_VELOCITY指定三维空间中的当前速度。
AL_LOOPING指示源是否正在循环。
类型: ALboolean?
范围: [AL_TRUE, AL_FALSE]
默认: FALSE。
AL_BUFFER指示提供声音样本的缓冲区。
类型: ALuint。
范围: 任何有效的缓冲区 ID。
AL_GAIN指示应用的增益(音量放大)。
类型: ALfloat。
范围: ]0.0- ]
值为 1.0 表示未衰减/未改变。
每次除以 2 相当于衰减 -6dB。
每次乘以 2 相当于放大 +6dB。
在对数刻度下,值为 0.0 无意义;它被解释为零音量 - 频道实际上被禁用。
AL_MIN_GAIN指示最小源衰减
类型: ALfloat
范围: [0.0 - 1.0]
AL_MAX_GAIN指示最大源衰减
类型: ALfloat
范围: [0.0 - 1.0]
AL_ORIENTATION指示监听器方向。
AL_CHANNEL_MASK指定频道掩码。 (Creative)
类型: ALuint
范围: [0 - 255]
AL_SOURCE_STATE
AL_INITIAL
AL_PLAYING
AL_PAUSED
AL_STOPPED
源状态信息。
AL_BUFFERS_QUEUED
AL_BUFFERS_PROCESSED
缓冲区队列参数
AL_SEC_OFFSET
AL_SAMPLE_OFFSET
AL_BYTE_OFFSET
源缓冲区位置信息
AL_SOURCE_TYPE源类型(静态、流式或未确定)
AL_STATIC如果使用 AL_BUFFER 附加了缓冲区,则源为静态
AL_STREAMING如果使用 alSourceQueueBuffers 附加了一个或多个缓冲区,则源为流式
AL_UNDETERMINED当源附加了 NULL 缓冲区时,源为未确定
AL_FORMAT_MONO8
AL_FORMAT_STEREO8
AL_FORMAT_MONO16
AL_FORMAT_STEREO16
声音样本:格式说明符。
AL_REFERENCE_DISTANCE源特定的参考距离
类型: ALfloat
范围: 0.0 - +inf 在 0.0 时,不会发生距离衰减。默认值为 1.0。
AL_ROLLOFF_FACTOR源特定的衰减因子
类型: ALfloat
范围: 0.0 - +inf
AL_CONE_OUTER_GAIN定向源,外锥增益。
默认: 0.0
范围: [0.0 - 1.0]
AL_MAX_DISTANCE指示高于该距离的源不会使用反向钳位距离模型进行衰减。
默认: +inf
类型: ALfloat
AL_FREQUENCY
AL_BITS
AL_CHANNELS
AL_SIZE
频率,单位为赫兹 [Hz]。
这是每秒的样本数。样本频率的一半标志着最大有效频率成分。
AL_UNUSED
AL_PENDING
AL_PROCESSED
缓冲区状态。
目前不支持公众使用(尚未)。
AL_NO_ERROR无错误
AL_INVALID_NAME传递给 AL 调用的无效名称参数。
AL_ILLEGAL_ENUM
AL_INVALID_ENUM
传递给 AL 调用的无效参数。
AL_INVALID_VALUE无效的枚举参数值。
AL_ILLEGAL_COMMAND
AL_INVALID_OPERATION
非法调用。
AL_OUT_OF_MEMORY没有魔力。
AL_VENDOR
AL_VERSION
AL_RENDERER
AL_EXTENSIONS
上下文字符串:供应商名称。
AL_DOPPLER_FACTOR多普勒比例。默认值 1.0
AL_DOPPLER_VELOCITY调整传播速度。
AL_SPEED_OF_SOUND声速,单位为每秒。
AL_DISTANCE_MODEL
AL_INVERSE_DISTANCE
AL_INVERSE_DISTANCE_CLAMPED
AL_LINEAR_DISTANCE
AL_LINEAR_DISTANCE_CLAMPED
AL_EXPONENT_DISTANCE
AL_EXPONENT_DISTANCE_CLAMPED
距离模型

与 DistanceModel 结合使用

隐式:NONE,它使距离衰减无效。
ALC 常量描述
ALC_FALSE
ALC_TRUE
ALC_FREQUENCY混合输出缓冲区的频率,单位为赫兹
ALC_REFRESH刷新间隔,单位为赫兹
ALC_SYNC标志,指示同步上下文
ALC_MONO_SOURCES提示,指示应该支持单声道数据的源数量
ALC_STEREO_SOURCES提示,指示应该支持立体声数据的源数量
ALC_NO_ERROR目前没有错误。
ALC_INVALID_DEVICE设备句柄或规范名称指定一个可访问的驱动程序/服务器
ALC_INVALID_CONTEXT上下文参数未指定有效上下文。
ALC_INVALID_ENUM使用的令牌无效或不适用。
ALC_INVALID_VALUE值(例如属性)无效或不适用。
ALC_OUT_OF_MEMORY无法分配内存。
ALC_DEFAULT_DEVICE_SPECIFIER默认设备的规范字符串
ALC_DEVICE_SPECIFIER设备的规范字符串
ALC_EXTENSIONS可用上下文扩展的列表,由空格分隔。
ALC_MAJOR_VERSION此实现的规范版本(主版本)。 NULL 是一个可接受的设备。
ALC_MINOR_VERSION此实现的规范版本(次版本)。 NULL 是一个可接受的设备。
ALC_ATTRIBUTES_SIZE当前上下文为零终止属性列表所需的大小(ALCint 值数量)。 NULL 是一个无效的设备。
ALC_ALL_ATTRIBUTES需要 ALC_ATTRIBUTES_SIZE 大小的目标,并提供指定设备当前上下文的属性列表。 NULL 是一个无效的设备。
ALC_CAPTURE_DEVICE_SPECIFIER指定捕获设备的名称,或者如果未指定捕获设备,则为所有可用捕获设备的列表。
ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER默认捕获设备的名称
ALC_CAPTURE_SAMPLES可用的捕获样本数量。 NULL 是一个无效的设备。

OpenALInstalled

[编辑 | 编辑源代码]

函数 OpenALInstalled()

描述: 检查 OpenAL 是否已安装。

返回值: 如果 OpenAL 已安装,则为 True。

信息: 此函数允许您确定当前机器上是否安装了 OpenAL。

全局变量

[编辑 | 编辑源代码]

alcOpenDevice

[编辑 | 编辑源代码]

全局 alcOpenDevice( devicename$z )

描述: 此函数按名称打开设备。

信息:

参数描述
devicename描述设备的以 null 结尾的字符串

如果出现错误,返回值将为 NULL。

返回指向打开设备的指针。 如果无法打开设备,将返回 NULL。

alcCloseDevice

[编辑 | 编辑源代码]

全局 alcCloseDevice( device )

描述: 此函数按名称关闭设备。

信息:

参数描述
device指向打开设备的指针
可能的错误状态描述
ALC_INVALID_DEVICE指定的设备名称不存在。

设备关闭时,设备内的所有上下文和缓冲区都将被销毁,成功时将返回 ALC_TRUE,失败时将返回 ALC_FALSE。

alcGetError

[编辑 | 编辑源代码]

全局 alcGetError( device )

描述: 此函数检索当前上下文错误状态。

信息:

参数描述
device指向要从中检索错误状态的设备的指针

alcGetString

[编辑 | 编辑源代码]

全局 alcGetString:Byte Ptr( device,param )

描述: 此函数返回与上下文相关的字符串的指针。

信息:

参数描述
device指向要查询的设备的指针
param要检索的属性
ALC_DEFAULT_DEVICE_SPECIFIER
ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER
ALC_DEVICE_SPECIFIER
ALC_CAPTURE_DEVICE_SPECIFIER
ALC_EXTENSIONS
可能的错误状态描述
ALC_INVALID_ENUM指定的参数无效。

ALC_DEFAULT_DEVICE_SPECIFIER 将返回默认输出设备的名称。

ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 将返回默认捕获设备的名称。

如果提供指针,ALC_DEVICE_SPECIFIER 将返回指定输出设备的名称,或者如果提供 NULL 设备指针,将返回所有可用设备的列表。 列表是指向一系列由 NULL 字符分隔的字符串的指针,列表以两个 NULL 字符结尾。

如果提供指针,ALC_CAPTURE_DEVICE_SPECIFIER 将返回指定捕获设备的名称,或者如果提供 NULL 设备指针,将返回所有可用设备的列表。

ALC_EXTENSIONS 返回可用上下文扩展的列表,每个扩展由空格分隔,列表以 NULL 字符结尾。

alcGetIntegerv

[编辑 | 编辑源代码]

全局 alcGetIntegerv( device,param,size,data:Int Ptr )

描述: 此函数返回与上下文相关的整数。

信息:

参数描述
device指向要查询的设备的指针
param要检索的属性
ALC_MAJOR_VERSION
ALC_MINOR_VERSION
ALC_ATTRIBUTES_SIZE
ALC_ALL_ATTRIBUTES
size提供的目标缓冲区的大小
data指向要返回的数据的指针
可能的错误状态描述
ALC_INVALID_VALUE指定的 data 指针或 size 无效。
ALC_INVALID_ENUM指定的参数无效。
ALC_INVALID_DEVICE指定的设备无效。
ALC_INVALID_CONTEXT指定的上下文无效。

返回的版本是指实现满足的规范版本。

alcCreateContext

[编辑 | 编辑源代码]

全局 alcCreateContext( device,attrlist:Int Ptr )

描述: 此函数使用指定的设备创建上下文。

信息:

参数描述
device指向设备的指针
attrlist指向一组属性的指针
ALC_FREQUENCY
ALC_REFRESH
ALC_SYNC
可能的错误状态描述
ALC_INVALID_VALUE无法为此设备创建其他上下文。
ALC_INVALID_DEVICE指定的设备不是有效的输出设备。

返回值: 指向新上下文的指针(失败时为 NULL)。

alcMakeContextCurrent

[编辑 | 编辑源代码]

全局 alcMakeContextCurrent( context )

描述: 此函数使指定的上下文成为当前上下文。

信息:

参数描述
context指向新上下文的指针
可能的错误状态描述
ALC_INVALID_CONTEXT指定的上下文无效。

成功时返回 ALC_TRUE,失败时返回 ALC_FALSE。

alcProcessContext

[编辑 | 编辑源代码]

全局 alcProcessContext( context )

描述: 此函数告诉上下文开始处理。

信息:

参数描述
context指向新上下文的指针
可能的错误状态描述
ALC_INVALID_CONTEXT指定的上下文无效。

当上下文被挂起时,OpenAL 状态的变化将被接受,但不会被处理。 alcSuspendContext 可用于挂起上下文,然后可以一次性应用所有 OpenAL 状态变化,然后调用 alcProcessContext 立即应用所有状态变化。 在某些情况下,此过程可能比非挂起状态下应用属性更有效。 在某些实现中,process 和 suspend 调用都是 NOP。

alcSuspendContext

[编辑 | 编辑源代码]

全局 alcSuspendContext( context )

描述: 此函数挂起指定上下文的处理。

信息:

参数描述
context指向要挂起的上下文的指针
可能的错误状态描述
ALC_INVALID_CONTEXT指定的上下文无效。

当上下文被挂起时,OpenAL 状态的变化将被接受,但不会被处理。 alcSuspendContext 的典型用法是挂起上下文,一次性应用所有 OpenAL 状态变化,然后调用 alcProcessContext 来一次性应用所有状态变化。 在某些情况下,此过程可能比非挂起状态下应用属性更有效。 在某些实现中,process 和 suspend 调用都是 NOP。

alcDestroyContext

[编辑 | 编辑源代码]

全局 alcDestroyContext( context )

描述: 此函数销毁上下文。

信息:

参数描述
context指向新上下文的指针
可能的错误状态描述
ALC_INVALID_CONTEXT指定的上下文无效。

可以随时销毁非当前上下文(该上下文内的所有源也将被删除 - 缓冲区不会受到影响)。 alcMakeContextCurrent 应该用于确保要销毁的上下文不是当前上下文(NULL 对 alcMakeContextCurrent 有效)。

alcGetCurrentContext

[编辑 | 编辑源代码]

全局 alcGetCurrentContext()

描述: 此函数检索当前上下文。

返回值: 指向当前上下文的指针。

alcGetContextsDevice

[编辑 | 编辑源代码]

Global alcGetContextsDevice( context )

描述: 该函数检索上下文的设备指针。

信息:

参数描述
context指向上下文的指针
可能的错误状态描述
ALC_INVALID_CONTEXT指定的上下文无效。

返回值: 指向指定上下文设备的指针。

alcIsExtensionPresent

[编辑 | 编辑源代码]

Global alcIsExtensionPresent( device,extName$z )

描述: 该函数查询指定上下文扩展是否可用。

信息:

参数描述
device指向要查询扩展的设备的指针
extName描述扩展的以 null 结尾的字符串
可能的错误状态描述
ALC_INVALID_VALUE字符串指针无效。

如果扩展可用,则返回 ALC_TRUE,如果扩展不可用,则返回 ALC_FALSE。

alcGetProcAddress

[编辑 | 编辑源代码]

Global alcGetProcAddress:Byte Ptr( device,funcName$z )

描述: 该函数检索指定上下文扩展函数的地址。

信息:

参数描述
device指向要查询函数的设备的指针
funcName描述函数的以 null 结尾的字符串
可能的错误状态描述
ALC_INVALID_VALUE字符串指针无效。

返回函数的地址,如果未找到,则返回 NULL。

alcGetEnumValue

[编辑 | 编辑源代码]

Global alcGetEnumValue( device,enumName$z )

描述: 该函数检索指定枚举名称的枚举值。

信息:

参数描述
device指向要查询的设备的指针
enumName描述枚举值的以 null 结尾的字符串
可能的错误状态描述
ALC_INVALID_VALUE字符串指针无效。

返回由 enumName 字符串描述的枚举值。这通常用于查询 ALC 扩展的枚举值。

alcCaptureOpenDevice

[编辑 | 编辑源代码]

Global alcCaptureOpenDevice( devicename$z,frequency,format,buffersize )

描述: 该函数通过名称打开捕获设备。

信息:

参数描述
devicename指向设备名称字符串的指针
frequency数据应捕获的频率
format请求的捕获缓冲区格式
buffersize捕获缓冲区的大小
可能的错误状态描述
ALC_INVALID_VALUE参数之一的值无效。
ALC_OUT_OF_MEMORY指定的设备无效,或无法捕获音频。

返回捕获设备指针,或在失败时返回 NULL。

alcCaptureCloseDevice

[编辑 | 编辑源代码]

Global alcCaptureCloseDevice( device )

描述: 该函数关闭指定的捕获设备。

信息:

参数描述
device指向捕获设备的指针
可能的错误状态描述
ALC_INVALID_DEVICE指定的设备不是有效的捕获设备。

如果关闭操作成功,则返回 ALC_TRUE,如果失败,则返回 ALC_FALSE。

alcCaptureStart

[编辑 | 编辑源代码]

Global alcCaptureStart( device )

描述: 该函数开始捕获操作。

信息:

参数描述
device指向捕获设备的指针
可能的错误状态描述
ALC_INVALID_DEVICE指定的设备不是有效的捕获设备。

alcCaptureStart 将开始记录到内部环形缓冲区,其大小在打开捕获设备时指定。然后,应用程序可以使用 ALC_CAPTURE_SAPMPLES 令牌与 alcGetIntegerv 检索当前可用的样本数。当应用程序确定有足够的样本可供处理时,它就可以通过调用 alcCaptureSamples 获取这些样本。

alcCaptureStop

[编辑 | 编辑源代码]

Global alcCaptureStop( device )

描述: 该函数停止捕获操作。

信息:

参数描述
device指向捕获设备的指针
可能的错误状态描述
ALC_INVALID_DEVICE指定的设备不是有效的捕获设备。

alcCaptureSamples

[编辑 | 编辑源代码]

Global alcCaptureSamples( device,buffer:Byte Ptr,samples )

描述: 该函数完成捕获操作。

信息:

参数描述
device指向捕获设备的指针
buffer指向数据缓冲区的指针,该缓冲区必须足够大以容纳 samples 个样本
samples要检索的样本数
可能的错误状态描述
ALC_INVALID_VALUE指定的样本数大于可用样本数。
ALC_INVALID_DEVICE指定的设备不是有效的捕获设备。

Global alEnable( capability )

描述: 该函数启用 OpenAL 驱动程序的功能。

信息:

参数描述
capability要启用的功能的名称
可能的错误状态描述
AL_INVALID_ENUM指定的功能无效。
AL_INVALID_OPERATION没有当前上下文。

OpenAL 1.1 中没有为此函数定义的功能,但扩展可以使用它。

alDisable

[编辑 | 编辑源代码]

Global alDisable( capability )

描述: 该函数禁用 OpenAL 驱动程序的功能。

信息:

参数描述
capability要禁用的功能的名称
可能的错误状态描述
AL_INVALID_ENUM指定的功能无效。
AL_INVALID_OPERATION没有当前上下文。

OpenAL 1.1 中没有为此函数定义的功能,但扩展可以使用它。

alIsEnabled

[编辑 | 编辑源代码]

Global alIsEnabled( capability )

描述: 该函数返回一个布尔值,指示 OpenAL 中是否启用了特定功能。

信息:

参数描述
capability要禁用的功能的名称
可能的错误状态描述
AL_INVALID_ENUM指定的功能无效。
AL_INVALID_OPERATION没有当前上下文。

如果功能已启用,则返回 AL_TRUE,如果功能已禁用,则返回 AL_FALSE。OpenAL 1.1 中没有为此函数定义的功能,但扩展可以使用它。

alGetString

[编辑 | 编辑源代码]

Global alGetString:Byte Ptr( param )

描述: 该函数检索 OpenAL 字符串属性。

信息:

参数描述
param要返回的属性
AL_VENDOR
AL_VERSION
AL_RENDERER
AL_EXTENSIONS
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。

返回指向以 null 结尾的字符串的指针。

alGetBooleanv

[编辑 | 编辑源代码]

Global alGetBooleanv( param,data:Byte Ptr )

描述: 该函数检索布尔 OpenAL 状态。

信息:

参数描述
param要返回的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
data指向将存储状态的位置的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_VALUE指定的 data 指针无效。
AL_INVALID_OPERATION没有当前上下文。

alGetIntegerv

[编辑 | 编辑源代码]

Global alGetIntegerv( param,data:Int Ptr )

描述: 该函数检索整数 OpenAL 状态。

信息:

参数描述
param要返回的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
data指向将存储状态的位置的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_VALUE指定的 data 指针无效。
AL_INVALID_OPERATION没有当前上下文。

alGetFloatv

[编辑 | 编辑源代码]

Global alGetFloatv( param,data:Float Ptr )

描述: 该函数检索浮点 OpenAL 状态。

信息:

参数描述
param要返回的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
data指向将存储状态的位置的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_VALUE指定的 data 指针无效。
AL_INVALID_OPERATION没有当前上下文。

alGetDoublev

[编辑 | 编辑源代码]

Global alGetDoublev( param,data:Double Ptr )

描述: 该函数检索双精度浮点 OpenAL 状态。

信息:

参数描述
param要返回的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
data指向将存储状态的位置的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_VALUE指定的 data 指针无效。
AL_INVALID_OPERATION没有当前上下文。

alGetBoolean

[编辑 | 编辑源代码]

全局 alGetBoolean( param )

描述: 此函数返回一个布尔型 OpenAL 状态。

信息:

参数描述
param要查询的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

将返回由 param 描述的布尔型状态。

alGetInteger

[编辑 | 编辑源代码]

全局 alGetInteger( param )

描述: 此函数返回一个整型 OpenAL 状态。

信息:

参数描述
param要查询的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

将返回由 param 描述的整型状态。

alGetFloat

[编辑 | 编辑源代码]

全局 alGetFloat#( param )

描述: 此函数返回一个浮点型 OpenAL 状态。

信息:

参数描述
param要查询的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

将返回由 param 描述的浮点型状态。

alGetDouble

[编辑 | 编辑源代码]

全局 alGetDouble!( param )

描述: 此函数返回一个双精度浮点型 OpenAL 状态。

信息:

参数描述
param要查询的状态
AL_DOPPLER_FACTOR
AL_SPEED_OF_SOUND
AL_DISTANCE_MODEL
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

将返回由 param 描述的双精度值。

alGetError

[编辑 | 编辑源代码]

全局 alGetError()

描述: 此函数返回当前错误状态,然后清除错误状态。

信息: 返回一个表示错误状态的 Alenum。当 OpenAL 发生错误时,错误状态将被设置,并且不会被更改,直到使用 alGetError 获取错误状态。每次调用 alGetError 时,错误状态都会被清除,并且会返回最后一个状态(调用时当前的状态)。为了将错误检测隔离到代码的特定部分,应该在隔离部分之前调用 alGetError 以清除当前错误状态。

alIsExtensionPresent

[编辑 | 编辑源代码]

全局 alIsExtensionPresent( extname$z )

描述: 此函数测试 OpenAL 驱动程序是否提供特定扩展。

信息:

参数描述
extname一个以 null 结尾的字符串,描述所需的扩展
可能的错误状态描述
AL_INVALID_VALUE指定的扩展字符串不是一个有效的指针。

如果扩展可用,则返回 AL_TRUE,如果扩展不可用,则返回 AL_FALSE。

alGetProcAddress

[编辑 | 编辑源代码]

全局 alGetProcAddress:Byte Ptr( fname$z )

描述: 此函数返回 OpenAL 扩展函数的地址。

信息:

参数描述
fname一个以 null 结尾的字符串,包含函数名

返回值是指向指定函数的指针。如果未找到函数,则返回值将为 NULL。

alGetEnumValue

[编辑 | 编辑源代码]

全局 alGetEnumValue( ename$z )

描述: 此函数返回由字符串描述的 OpenAL 枚举的枚举值。

信息:

参数描述
ename一个以 null 结尾的字符串,描述一个 OpenAL 枚举

返回由字符串描述的实际 ALenum。如果字符串没有描述有效的 OpenAL 枚举,则返回 NULL。

alListenerf

[编辑 | 编辑源代码]

全局 alListenerf( param,value# )

描述: 此函数为监听器设置一个浮点型属性。相关属性在监听器属性表中列出。

信息:

参数描述
param要设置的属性的名称:AL_GAIN
value要设置为属性的 ALfloat 值
可能的错误状态描述
AL_INVALID_VALUE给定的值无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alListener3f

[编辑 | 编辑源代码]

全局 alListener3f( param,value1#,value2#,value3# )

描述: 此函数为监听器设置一个浮点型属性。相关属性在监听器属性表中列出。

信息:

参数描述
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
v1, v2, v3要设置为属性的值
可能的错误状态描述
AL_INVALID_VALUE给定的值无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alListenerfv

[编辑 | 编辑源代码]

全局 alListenerfv( param,values:Float Ptr )

描述: 此函数设置监听器的浮点型向量属性。相关属性在监听器属性表中列出。

信息:

参数描述
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
AL_ORIENTATION
values指向浮点型向量值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alListeneri

[编辑 | 编辑源代码]

全局 alListeneri( param,value )

描述: 此函数设置监听器的整型属性。

信息:

参数描述
param要设置的属性的名称
value要设置为属性的整型值
可能的错误状态描述
AL_INVALID_VALUE给定的值无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

OpenAL 1.1 没有定义任何整型监听器属性,但此函数可被扩展使用。

alListener3i

[编辑 | 编辑源代码]

全局 alListener3i( param,value1,value2,value3 )

描述: 此函数设置监听器的整型属性。相关属性在监听器属性表中列出。

信息:

参数描述
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
value1, value2, value3要设置为属性的整型值
可能的错误状态描述
AL_INVALID_VALUE给定的值无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alListeneriv

[编辑 | 编辑源代码]

全局 alListeneriv( param,values:Int Ptr )

描述: 此函数设置监听器的整型属性。相关属性在监听器属性表中列出。

信息:

参数描述
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
AL_ORIENTATION
values指向要设置为属性的整型值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alGetListenerf

[编辑 | 编辑源代码]

全局 alGetListenerf( param,value:Float Ptr )

描述: 此函数检索监听器的浮点型属性。相关属性在监听器属性表中列出。

信息:

参数描述
param要检索的属性的名称:AL_GAIN
value指向要检索的浮点型值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alGetListener3f

[编辑 | 编辑源代码]

全局 alGetListener3f( param,value1:Float Ptr,value2:Float Ptr,value3:Float Ptr )

描述: 此函数从监听器的属性中检索一组三个浮点型值。相关属性在监听器属性表中列出。

信息:

参数描述
param要检索的属性的名称
AL_POSITION
AL_VELOCITY
value1, value2, value3指向要检索的三个浮点型的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alGetListenerfv

[编辑 | 编辑源代码]

全局 alGetListenerfv( param,values:Float Ptr )

描述: 此函数检索监听器的浮点型向量属性。相关属性在监听器属性表中列出。

信息:

参数描述
param要检索的属性的名称
AL_POSITION
AL_VELOCITY
AL_ORIENTATION
values指向要检索的浮点型向量值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alGetListeneri

[编辑 | 编辑源代码]

全局 alGetListeneri( param,value:Int Ptr )

描述: 此函数检索监听器的整型属性。

信息:

参数描述
param要检索的属性的名称
value获取的整数值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

OpenAL 1.1 没有定义任何整型监听器属性,但此函数可被扩展使用。

alGetListener3i

[编辑 | 编辑源代码]

Global alGetListener3i( param,value1:Int Ptr,value2:Int Ptr,value3:Int Ptr )

描述: 此函数检索监听器的整型属性。相关属性列在监听器属性表中。

信息:

参数描述
param要检索的属性的名称
AL_POSITION
AL_VELOCITY
value1, value2, value3获取的整数值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alGetListeneriv

[编辑 | 编辑源代码]

Global alGetListeneriv( param,values:Int Ptr )

描述: 此函数检索监听器的整型属性。相关属性列在监听器属性表中。

信息:

参数描述
param要检索的属性的名称
AL_POSITION
AL_VELOCITY
AL_ORIENTATION
values获取的整数值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_OPERATION没有当前上下文。

alGenBuffers

[编辑 | 编辑源代码]

Global alGenBuffers( n,buffers:Int Ptr )

描述: 此函数生成一个或多个缓冲区,其中包含音频数据(请参阅 alBufferData)。缓冲区的引用是 ALuint 值,在需要缓冲区引用时使用(在 alDeleteBuffersalSourceialSourceQueueBuffersalSourceUnqueueBuffers 等调用中)。

信息:

参数描述
n要生成的缓冲区数量
缓冲区指向 ALuint 值数组的指针,这些值将存储新缓冲区的名称
可能的错误状态描述
AL_INVALID_VALUE缓冲区数组不足以容纳请求的缓冲区数量。
AL_OUT_OF_MEMORY没有足够的内存来生成所有请求的缓冲区。

如果无法创建请求的缓冲区数量,则会生成一个错误,可以使用 alGetError 检测到。如果发生错误,将不会生成任何缓冲区。如果 n 等于零,则 alGenBuffers 不会执行任何操作,也不会返回错误。

alDeleteBuffers

[编辑 | 编辑源代码]

Global alDeleteBuffers( n,buffers:Int Ptr )

描述: 此函数删除一个或多个缓冲区,释放缓冲区使用的资源。附加到源的缓冲区无法删除。有关如何将缓冲区从源分离的信息,请参阅 alSourceialSourceUnqueueBuffers

信息:

参数描述
n要删除的缓冲区数量
缓冲区指向缓冲区名称数组的指针,这些名称标识要删除的缓冲区
可能的错误状态描述
AL_INVALID_OPERATION缓冲区仍在使用中,无法删除。
AL_INVALID_NAME缓冲区名称无效。
AL_INVALID_VALUE无法删除请求的缓冲区数量。

如果无法删除请求的缓冲区数量,则会生成一个错误,可以使用 alGetError 检测到。如果发生错误,将不会删除任何缓冲区。如果 n 等于零,则 alDeleteBuffers 不会执行任何操作,也不会返回错误。

alIsBuffer

[编辑 | 编辑源代码]

Global alIsBuffer( bid )

描述: 此函数测试缓冲区名称是否有效,如果有效则返回 AL_TRUE,否则返回 AL_FALSE。

信息:

参数描述
bid要测试其有效性的缓冲区名称

NULL 缓冲区始终有效(有关 NULL 缓冲区的用法,请参阅 alSourcei)。

alBufferData

[编辑 | 编辑源代码]

Global alBufferData( bid,format,data:Byte Ptr,size,freq )

描述: 此函数用音频数据填充缓冲区。所有预定义格式都是 PCM 数据,但此函数可用于扩展来加载其他数据类型。

信息:

参数描述
bid要填充数据的缓冲区名称
format以下格式类型之一:AL_FORMAT_MONO8、AL_FORMAT_MONO16、AL_FORMAT_STEREO8、AL_FORMAT_STEREO16
data指向音频数据的指针
size音频数据的大小(以字节为单位)
freq音频数据的频率
可能的错误状态描述
AL_OUT_OF_MEMORY没有足够的内存来创建此缓冲区。
AL_INVALID_VALUEsize 参数对于指定的格式无效,缓冲区正在使用中,或者数据是 NULL 指针。
AL_INVALID_ENUM指定的格式不存在。

8 位 PCM 数据表示为 0 到 255 范围内的无符号值,其中 128 是音频输出电平为零。16 位 PCM 数据表示为 -32768 到 32767 范围内的有符号值,其中 0 是音频输出电平为零。立体声数据以交错格式表示,左侧声道优先。包含多个声道数据的缓冲区将以 3D 空间化方式播放。

alBufferf

[编辑 | 编辑源代码]

Global alBufferf( bid,param,value# )

描述: 此函数设置缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
param要设置的属性名称
value要设置的 ALfloat 值
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。

OpenAL 1.1 中没有定义可以受此调用影响的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alBuffer3f

[编辑 | 编辑源代码]

Global alBuffer3f( bid,param,value1#,value2#,value3# )

描述: 此函数设置缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
param要设置的属性的名称
value1, value2, value3要设置的 ALfloat 值
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。

OpenAL 1.1 中没有定义可以受此调用影响的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alBufferfv

[编辑 | 编辑源代码]

Global alBufferfv( bid,param,values:Float Ptr )

描述: 此函数设置缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
param要设置的属性的名称
values指向要设置的 ALfloat 值的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。

OpenAL 1.1 中没有定义可以受此调用影响的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alBufferi

[编辑 | 编辑源代码]

Global alBufferi( bid,param,value )

描述: 此函数设置缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
param要设置的属性名称
value要设置的 ALint 值
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。

OpenAL 1.1 中没有定义可以受此调用影响的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alBuffer3i

[编辑 | 编辑源代码]

Global alBuffer3i( bid,param,value1,value2,value3 )

描述: 此函数设置缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
param要设置的属性名称
value1, value2, value3要设置的 ALint 值
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。

OpenAL 1.1 中没有定义可以受此调用影响的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alBufferiv

[编辑 | 编辑源代码]

Global alBufferiv( bid,param,values:Int Ptr )

描述: 此函数设置缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
param要设置的属性名称
values指向要设置的 ALint 值的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。

OpenAL 1.1 中没有定义可以受此调用影响的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alGetBufferf

[编辑 | 编辑源代码]

Global alGetBufferf( bid,param,value:Float Ptr )

描述: 此函数检索缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
pname要检索的属性名称
value指向 ALfloat 的指针,用于保存检索到的数据
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。
AL_INVALID_VALUE指定的 value 指针无效。

OpenAL 1.1 中没有定义可以通过此调用检索的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alGetBuffer3f

[编辑 | 编辑源代码]

Global alGetBuffer3f( bid,param,value1:Float Ptr,value2:Float Ptr,value3:Float Ptr )

描述: 此函数检索缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
pname要检索的属性名称
value1, value2, value3指向 ALfloat 值的指针,用于保存检索到的数据
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。
AL_INVALID_VALUE指定的 value 指针无效。

OpenAL 1.1 中没有定义可以通过此调用检索的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alGetBufferfv

[编辑 | 编辑源代码]

Global alGetBufferfv( bid,param,values:Float Ptr )

描述: 此函数检索缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
pname要检索的属性的名称
values指向 ALfloat 向量以保存检索到的数据的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。
AL_INVALID_VALUE指定的 value 指针无效。

OpenAL 1.1 中没有定义可以通过此调用检索的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alGetBufferi

[编辑 | 编辑源代码]

Global alGetBufferi( bid,param,value:Int Ptr )

描述: 此函数检索缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
pname要检索的属性名称:AL_FREQUENCY、AL_BITS、AL_CHANNELS、AL_SIZE、AL_DATA
value指向 ALint 的指针,用于保存检索到的数据
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。
AL_INVALID_VALUE指定的 value 指针无效。

OpenAL 1.1 中没有定义可以通过此调用检索的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alGetBuffer3i

[编辑 | 编辑源代码]

Global alGetBuffer3i( bid,param,value1:Int Ptr,value2:Int Ptr,value3:Int Ptr )

描述: 此函数检索缓冲区的浮点属性。

信息:

参数描述
bid正在检索其属性的缓冲区名称
pname要检索的属性名称
value1, value2, value3指向 ALint 值的指针,用于保存检索到的数据
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。
AL_INVALID_VALUE指定的 value 指针无效。

OpenAL 1.1 中没有定义可以通过此调用检索的相关缓冲区属性,但此函数可用于 OpenAL 扩展。

alGetBufferiv

[编辑 | 编辑源代码]

Global alGetBufferiv( bid,param,values:Int Ptr )

描述: 此函数检索缓冲区的浮点属性。相关属性列在缓冲区属性表中。

信息:

参数描述
bid正在检索其属性的缓冲区名称
pname要检索的属性名称
values指向 ALint 向量以保存检索到的数据的指针
可能的错误状态描述
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的缓冲区没有参数(NULL 缓冲区),或者不存在。
AL_INVALID_VALUE指定的 value 指针无效。

OpenAL 1.1 中没有定义可以由此调用检索的相关缓冲区属性,但此函数可以由 OpenAL 扩展使用。

alGenSources

[编辑 | 编辑源代码]

Global alGenSources( n,sources:Int Ptr )

描述: 此函数生成一个或多个源。对源的引用是 ALuint 值,这些值在需要源引用时使用(在诸如 alDeleteSourcesalSourcei 的调用中)。

信息:

参数描述
n要生成的源数
指向 ALuint 值数组的指针,这些值将存储新源的名称
可能的错误状态描述
AL_OUT_OF_MEMORY没有足够的内存来生成所有请求的源。
AL_INVALID_VALUE没有足够的非内存资源来创建所有请求的源,或者数组指针无效。
AL_INVALID_OPERATION没有上下文来创建源。

如果无法创建请求数量的源,则将生成错误,可以使用 alGetError 检测到。如果发生错误,将不会生成任何源。如果 n 等于零,alGenSources 不会执行任何操作,也不会返回错误。

alDeleteSources

[编辑 | 编辑源代码]

Global alDeleteSources( n,sources:Int Ptr )

描述: 此函数删除一个或多个源。

信息:

参数描述
n要删除的源数
指向源名称数组的指针,这些名称标识要删除的源
可能的错误状态描述
AL_INVALID_NAME至少有一个指定的源无效,或者正在尝试删除比现有源更多的源。
AL_INVALID_OPERATION没有当前上下文。

如果无法删除请求数量的源,则将生成错误,可以使用 alGetError 检测到。如果发生错误,将不会删除任何源。如果 n 等于零,alDeleteSources 不会执行任何操作,也不会返回错误。可以删除正在播放的源 - 源将被停止然后删除。

alIsSource

[编辑 | 编辑源代码]

Global alIsSource( sid )

描述: 此函数测试源名称是否有效,如果有效则返回 AL_TRUE,否则返回 AL_FALSE。

信息:

参数描述
sid要测试有效性的源名称
可能的错误状态描述
AL_INVALID_OPERATION没有当前上下文。

alSourcef

[编辑 | 编辑源代码]

Global alSourcef( sid,param,value# )

描述: 此函数设置源的浮点属性。相关属性列在源属性表中。

信息:

参数描述
sid正在设置其属性的源名称
param要设置的属性的名称
AL_PITCH
AL_GAIN
AL_MAX_DISTANCE
AL_ROLLOFF_FACTOR
AL_REFERENCE_DISTANCE
AL_MIN_GAIN
AL_MAX_GAIN
AL_CONE_OUTER_GAIN
value要设置属性的值
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alSource3f

[编辑 | 编辑源代码]

Global alSource3f( sid,param,value1#,value2#,value3# )

描述: 此函数设置需要三个浮点值的源属性。相关属性列在源属性表中。

信息:

参数描述
sid正在设置其属性的源名称
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
v1, v2, v3属性将被设置为的三个 ALfloat 值
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

此函数是 alSourcefv 的替代方案。

alSourcefv

[编辑 | 编辑源代码]

Global alSourcefv( sid,param,values:Float Ptr )

描述: 此函数设置需要三个浮点值的源属性。相关属性列在源属性表中。

信息:

参数描述
sid正在设置其属性的源名称
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
values指向要设置属性的向量的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

此函数是 alSource3f 的替代方案。

alSourcei

[编辑 | 编辑源代码]

Global alSourcei( sid,param,value )

描述: 此函数设置源的整数属性。相关属性列在源属性表中。

信息:

参数描述
sid正在设置其属性的源名称
param要设置的属性的名称
AL_SOURCE_RELATIVE
AL_CONE_INNER_ANGLE
AL_CONE_OUTER_ANGLE
AL_LOOPING
AL_BUFFER
AL_SOURCE_STATE
value指向要设置属性的向量的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

缓冲区名称零保留为“NULL 缓冲区”,并被 alSourcei(..., AL_BUFFER, ...) 接受为长度为零的有效缓冲区。NULL 缓冲区对于从使用此调用或 alSourceQueueBuffers 附加的源中分离缓冲区非常有用。

alSource3i

[编辑 | 编辑源代码]

Global alSource3i( sid,param,value1,value2,value3 )

描述: 此函数设置源的整数属性。相关属性列在源属性表中。

信息:

参数描述
sid正在设置其属性的源名称
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
value1, value2, value3要设置属性的值
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alSourceiv

[编辑 | 编辑源代码]

Global alSourceiv( sid,param,values:Int Ptr )

描述: 此函数设置源的整数属性。相关属性列在源属性表中。

信息:

参数描述
sid正在设置其属性的源名称
param要设置的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
values要设置属性的值
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alGetSourcef

[编辑 | 编辑源代码]

Global alGetSourcef( sid,param,value:Float Ptr )

描述: 此函数检索源的浮点属性。相关属性列在源属性表中。

信息:

参数描述
sid正在检索其属性的源名称
param要检索的属性的名称
AL_PITCH
AL_GAIN
AL_MIN_GAIN
AL_MAX_GAIN
AL_MAX_DISTANCE
AL_ROLLOFF_FACTOR
AL_CONE_OUTER_GAIN
AL_CONE_INNER_ANGLE
AL_CONE_OUTER_ANGLE
AL_REFERENCE_DISTANCE
value指向要检索的浮点型值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alGetSource3f

[编辑 | 编辑源代码]

Global alGetSource3f( sid,param,value1:Float Ptr,value2:Float Ptr,value3:Float Ptr )

描述: 此函数检索表示源属性的三个浮点值。相关属性列在源属性表中。

信息:

参数描述
sid正在检索其属性的源名称
param要检索的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
value1,value2,value3指向要检索的值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alGetSourcefv

[编辑 | 编辑源代码]

Global alGetSourcefv( sid,param,values:Float Ptr )

描述: 此函数检索源的浮点向量属性。相关属性列在源属性表中。

信息:

参数描述
sid正在检索其属性的源名称
param要检索的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
values指向要检索的向量的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alGetSourcei

[编辑 | 编辑源代码]

Global alGetSourcei( sid,param,value:Int Ptr )

描述: 此函数检索源的整数属性。相关属性列在源属性表中。

信息:

参数描述
sid正在检索其属性的源名称
pname要检索的属性的名称
AL_SOURCE_RELATIVE
AL_BUFFER
AL_SOURCE_STATE
AL_BUFFERS_QUEUED
AL_BUFFERS_PROCESSED
value获取的整数值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alGetSource3i

[编辑 | 编辑源代码]

Global alGetSource3i( sid,param,value1:Int Ptr,value2:Int Ptr,value3:Int Ptr )

描述: 此函数检索源的整数属性。相关属性列在源属性表中。

信息:

参数描述
sid正在检索其属性的源名称
pname要检索的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
value1, value2, value3获取的整数值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alGetSourceiv

[编辑 | 编辑源代码]

Global alGetSourceiv( sid,param,values:Int Ptr )

描述: 此函数检索源的整数属性。相关属性列在源属性表中。

信息:

参数描述
sid正在检索其属性的源名称
pname要检索的属性的名称
AL_POSITION
AL_VELOCITY
AL_DIRECTION
values获取的整数值的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值超出范围。
AL_INVALID_ENUM指定的参数无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alSourcePlayv

[编辑 | 编辑源代码]

Global alSourcePlayv( ns,sids:Int Ptr )

描述: 此函数播放一组源。

信息:

参数描述
ns要播放的源数
sids指向要播放的源数组的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

正在播放的源将将其状态更改为 AL_PLAYING。当在已经播放的源上调用时,源将从开头重新开始。当附加的缓冲区播放完毕后,源将进入 AL_STOPPED 状态。

alSourceStopv

[编辑 | 编辑源代码]

Global alSourceStopv( ns,sids:Int Ptr )

描述: 此函数停止一组源。

信息:

参数描述
ns要停止的源数
sids指向要停止的源数组的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

停止的源将将其状态更改为 AL_STOPPED。

alSourceRewindv

[编辑 | 编辑源代码]

Global alSourceRewindv( ns,sids:Int Ptr )

描述: 此函数停止一组声源并将它们的状态设置为 AL_INITIAL。

信息:

参数描述
ns要倒带的声源数量
sids指向要倒带的声源数组的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alSourcePausev

[编辑 | 编辑源代码]

Global alSourcePausev( ns,sids:Int Ptr )

描述: 此函数暂停一组声源。

信息:

参数描述
ns要暂停的声源数量
sids指向要暂停的声源数组的指针
可能的错误状态描述
AL_INVALID_VALUE给定的值指针无效。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

暂停的声源状态将更改为 AL_PAUSED。

alSourcePlay

[编辑 | 编辑源代码]

Global alSourcePlay( sid )

描述: 此函数播放声源。

信息:

参数描述
sid要播放的声源名称
可能的错误状态描述
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

正在播放的声源状态将更改为 AL_PLAYING。当对已经播放的声源调用时,声源将从开头重新开始。当附加的缓冲区播放完毕时,声源将进入 AL_STOPPED 状态。

alSourceStop

[编辑 | 编辑源代码]

Global alSourceStop( sid )

描述: 此函数停止声源。

信息:

参数描述
sid要停止的声源名称
可能的错误状态描述
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

停止的声源状态将更改为 AL_STOPPED。

alSourceRewind

[编辑 | 编辑源代码]

Global alSourceRewind( sid )

描述: 此函数停止声源并将其状态设置为 AL_INITIAL。

信息:

参数描述
sid要倒带的声源名称
可能的错误状态描述
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

alSourcePause

[编辑 | 编辑源代码]

Global alSourcePause( sid )

描述: 此函数暂停声源。

信息:

参数描述
sid要暂停的声源名称
可能的错误状态描述
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

暂停的声源状态将更改为 AL_PAUSED。

alSourceQueueBuffers

[编辑 | 编辑源代码]

Global alSourceQueueBuffers( sid,numEntries,bids:Int Ptr )

描述: 此函数将一组缓冲区排队到声源。附加到声源的所有缓冲区将按顺序播放,可以使用 alSourcei 调用来获取 AL_BUFFERS_PROCESSED 来检测已处理缓冲区的数量。

信息:

参数描述
sid要排队缓冲区的声源名称
numEntries要排队的缓冲区数量
bids指向要排队的缓冲区名称数组的指针
可能的错误状态描述
AL_INVALID_NAME至少有一个指定的缓冲区名称无效,或者指定的声源名称无效。
AL_INVALID_OPERATION没有当前上下文,尝试添加与队列中现有缓冲区格式不同的新缓冲区,或者声源已经附加了静态缓冲区。

首次创建时,声源类型为 AL_UNDETERMINED。成功调用 alSourceQueueBuffers 将把声源类型更改为 AL_STREAMING。

alSourceUnqueueBuffers

[编辑 | 编辑源代码]

Global alSourceUnqueueBuffers( sid,numEntries,bids:Int Ptr )

描述: 此函数取消排队附加到声源的一组缓冲区。可以使用 alSourcei 调用来获取 AL_BUFFERS_PROCESSED 来检测已处理缓冲区的数量,这是可以使用此调用取消排队的最大缓冲区数量。

信息:

参数描述
sid要取消排队缓冲区的声源名称
numEntries要取消排队的缓冲区数量
bids指向已移除的缓冲区名称数组的指针
可能的错误状态描述
AL_INVALID_VALUE至少有一个缓冲区无法取消排队,因为它尚未处理。
AL_INVALID_NAME指定的源名称无效。
AL_INVALID_OPERATION没有当前上下文。

仅当所有 n 个缓冲区都可以从队列中移除时才会执行取消排队操作。

alDopplerFactor

[编辑 | 编辑源代码]

Global alDopplerFactor( value# )

描述: 此函数选择 OpenAL 多普勒因子值。

信息:

参数描述
value要设置的多普勒比例值
可能的错误状态描述
AL_INVALID_VALUE指定的 value 值无效。
AL_INVALID_OPERATION没有当前上下文。

默认的多普勒因子值为 1.0。

alDopplerVelocity

[编辑 | 编辑源代码]

Global alDopplerVelocity( value# )

描述: 此函数选择用于多普勒计算的声音速度。

信息:

参数描述
value要设置的声音速度值
可能的错误状态描述
AL_INVALID_VALUE指定的 value 值无效。
AL_INVALID_OPERATION没有当前上下文。

默认的声音速度值为 343.3。

alSpeedOfSound

[编辑 | 编辑源代码]

Global alSpeedOfSound( value# )

描述: 此函数选择用于多普勒计算的声音速度。

信息:

参数描述
value#要设置的声音速度值
可能的错误状态描述
AL_INVALID_VALUE指定的 value 值无效。
AL_INVALID_OPERATION没有当前上下文。

默认的声音速度值为 343.3。

alDistanceModel

[编辑 | 编辑源代码]

Global alDistanceModel( distanceModel )

描述: 此函数选择 OpenAL 距离模型。

AL_INVERSE_DISTANCE 模型根据以下公式工作

G_dB = AL_GAIN - 20log10(1 + AL_ROLLOFF_FACTOR*(distance - AL_REFERENCE_DISTANCE)/AL_REFERENCE_DISTANCE));
G_dB = min(G_dB, AL_MAX_GAIN);
G_dB = max(G_dB, AL_MIN_GAIN);

AL_INVERSE_DISTANCE_CLAMPED 模型根据以下公式工作

distance = max(distance, AL_REFERENCE_DISTANCE);
distance = min(distance, AL_MAX_DISTANCE);
G_dB = AL_GAIN - 20log10(1 + AL_ROLLOFF_FACTOR*(distance - AL_REFERENCE_DISTANCE)/AL_REFERENCE_DISTANCE));
G_dB = min(G_dB, AL_MAX_GAIN);
G_dB = max(G_dB, AL_MIN_GAIN);

AL_NONE 模型根据以下公式工作

G_db = AL_GAIN;

信息:

参数描述
distanceModel要设置的距离模型
AL_NONE
AL_INVERSE_DISTANCE
AL_INVERSE_DISTANCE_CLAMPED
可能的错误状态描述
AL_INVALID_VALUE指定的距离模型无效。
AL_INVALID_OPERATION没有当前上下文。

OpenAL 中的默认距离模型为 AL_INVERSE_DISTANCE_CLAMPED。

华夏公益教科书