跳轉到內容

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。

華夏公益教科書