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()
描述: 檢查 OpenAL 是否已安裝。
返回值: 如果 OpenAL 已安裝,則為 True。
資訊: 此函式允許您確定當前機器上是否安裝了 OpenAL。
全域性 alcOpenDevice( devicename$z )
描述: 此函式按名稱開啟裝置。
資訊:
| 引數 | 描述 |
|---|---|
| devicename | 描述裝置的以 null 結尾的字串 |
如果出現錯誤,返回值將為 NULL。
返回指向開啟裝置的指標。 如果無法開啟裝置,將返回 NULL。
全域性 alcCloseDevice( device )
描述: 此函式按名稱關閉裝置。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向開啟裝置的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_DEVICE | 指定的裝置名稱不存在。 |
裝置關閉時,裝置內的所有上下文和緩衝區都將被銷燬,成功時將返回 ALC_TRUE,失敗時將返回 ALC_FALSE。
全域性 alcGetError( device )
描述: 此函式檢索當前上下文錯誤狀態。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向要從中檢索錯誤狀態的裝置的指標 |
全域性 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( 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( device,attrlist:Int Ptr )
描述: 此函式使用指定的裝置建立上下文。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向裝置的指標 |
| attrlist | 指向一組屬性的指標 ALC_FREQUENCY ALC_REFRESH ALC_SYNC |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_VALUE | 無法為此裝置建立其他上下文。 |
| ALC_INVALID_DEVICE | 指定的裝置不是有效的輸出裝置。 |
返回值: 指向新上下文的指標(失敗時為 NULL)。
全域性 alcMakeContextCurrent( context )
描述: 此函式使指定的上下文成為當前上下文。
資訊:
| 引數 | 描述 |
|---|---|
| context | 指向新上下文的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_CONTEXT | 指定的上下文無效。 |
成功時返回 ALC_TRUE,失敗時返回 ALC_FALSE。
全域性 alcProcessContext( context )
描述: 此函式告訴上下文開始處理。
資訊:
| 引數 | 描述 |
|---|---|
| context | 指向新上下文的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_CONTEXT | 指定的上下文無效。 |
當上下文被掛起時,OpenAL 狀態的變化將被接受,但不會被處理。 alcSuspendContext 可用於掛起上下文,然後可以一次性應用所有 OpenAL 狀態變化,然後呼叫 alcProcessContext 立即應用所有狀態變化。 在某些情況下,此過程可能比非掛起狀態下應用屬性更有效。 在某些實現中,process 和 suspend 呼叫都是 NOP。
全域性 alcSuspendContext( context )
描述: 此函式掛起指定上下文的處理。
資訊:
| 引數 | 描述 |
|---|---|
| context | 指向要掛起的上下文的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_CONTEXT | 指定的上下文無效。 |
當上下文被掛起時,OpenAL 狀態的變化將被接受,但不會被處理。 alcSuspendContext 的典型用法是掛起上下文,一次性應用所有 OpenAL 狀態變化,然後呼叫 alcProcessContext 來一次性應用所有狀態變化。 在某些情況下,此過程可能比非掛起狀態下應用屬性更有效。 在某些實現中,process 和 suspend 呼叫都是 NOP。
全域性 alcDestroyContext( context )
描述: 此函式銷燬上下文。
資訊:
| 引數 | 描述 |
|---|---|
| context | 指向新上下文的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_CONTEXT | 指定的上下文無效。 |
可以隨時銷燬非當前上下文(該上下文內的所有源也將被刪除 - 緩衝區不會受到影響)。 alcMakeContextCurrent 應該用於確保要銷燬的上下文不是當前上下文(NULL 對 alcMakeContextCurrent 有效)。
全域性 alcGetCurrentContext()
描述: 此函式檢索當前上下文。
返回值: 指向當前上下文的指標。
Global alcGetContextsDevice( context )
描述: 該函式檢索上下文的裝置指標。
資訊:
| 引數 | 描述 |
|---|---|
| context | 指向上下文的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_CONTEXT | 指定的上下文無效。 |
返回值: 指向指定上下文裝置的指標。
Global alcIsExtensionPresent( device,extName$z )
描述: 該函式查詢指定上下文擴充套件是否可用。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向要查詢擴充套件的裝置的指標 |
| extName | 描述擴充套件的以 null 結尾的字串 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_VALUE | 字串指標無效。 |
如果擴充套件可用,則返回 ALC_TRUE,如果擴充套件不可用,則返回 ALC_FALSE。
Global alcGetProcAddress:Byte Ptr( device,funcName$z )
描述: 該函式檢索指定上下文擴充套件函式的地址。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向要查詢函式的裝置的指標 |
| funcName | 描述函式的以 null 結尾的字串 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_VALUE | 字串指標無效。 |
返回函式的地址,如果未找到,則返回 NULL。
Global alcGetEnumValue( device,enumName$z )
描述: 該函式檢索指定列舉名稱的列舉值。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向要查詢的裝置的指標 |
| enumName | 描述列舉值的以 null 結尾的字串 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_VALUE | 字串指標無效。 |
返回由 enumName 字串描述的列舉值。這通常用於查詢 ALC 擴充套件的列舉值。
Global alcCaptureOpenDevice( devicename$z,frequency,format,buffersize )
描述: 該函式透過名稱開啟捕獲裝置。
資訊:
| 引數 | 描述 |
|---|---|
| devicename | 指向裝置名稱字串的指標 |
| frequency | 資料應捕獲的頻率 |
| format | 請求的捕獲緩衝區格式 |
| buffersize | 捕獲緩衝區的大小 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_VALUE | 引數之一的值無效。 |
| ALC_OUT_OF_MEMORY | 指定的裝置無效,或無法捕獲音訊。 |
返回捕獲裝置指標,或在失敗時返回 NULL。
Global alcCaptureCloseDevice( device )
描述: 該函式關閉指定的捕獲裝置。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向捕獲裝置的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_DEVICE | 指定的裝置不是有效的捕獲裝置。 |
如果關閉操作成功,則返回 ALC_TRUE,如果失敗,則返回 ALC_FALSE。
Global alcCaptureStart( device )
描述: 該函式開始捕獲操作。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向捕獲裝置的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_DEVICE | 指定的裝置不是有效的捕獲裝置。 |
alcCaptureStart 將開始記錄到內部環形緩衝區,其大小在開啟捕獲裝置時指定。然後,應用程式可以使用 ALC_CAPTURE_SAPMPLES 令牌與 alcGetIntegerv 檢索當前可用的樣本數。當應用程式確定有足夠的樣本可供處理時,它就可以透過呼叫 alcCaptureSamples 獲取這些樣本。
Global alcCaptureStop( device )
描述: 該函式停止捕獲操作。
資訊:
| 引數 | 描述 |
|---|---|
| device | 指向捕獲裝置的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| ALC_INVALID_DEVICE | 指定的裝置不是有效的捕獲裝置。 |
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 中沒有為此函式定義的功能,但擴充套件可以使用它。
Global alDisable( capability )
描述: 該函式停用 OpenAL 驅動程式的功能。
資訊:
| 引數 | 描述 |
|---|---|
| capability | 要停用的功能的名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的功能無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
OpenAL 1.1 中沒有為此函式定義的功能,但擴充套件可以使用它。
Global alIsEnabled( capability )
描述: 該函式返回一個布林值,指示 OpenAL 中是否啟用了特定功能。
資訊:
| 引數 | 描述 |
|---|---|
| capability | 要停用的功能的名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的功能無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
如果功能已啟用,則返回 AL_TRUE,如果功能已停用,則返回 AL_FALSE。OpenAL 1.1 中沒有為此函式定義的功能,但擴充套件可以使用它。
Global alGetString:Byte Ptr( param )
描述: 該函式檢索 OpenAL 字串屬性。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要返回的屬性 AL_VENDOR AL_VERSION AL_RENDERER AL_EXTENSIONS |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
返回指向以 null 結尾的字串的指標。
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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( param )
描述: 此函式返回一個布林型 OpenAL 狀態。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要查詢的狀態 AL_DOPPLER_FACTOR AL_SPEED_OF_SOUND AL_DISTANCE_MODEL |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
將返回由 param 描述的布林型狀態。
全域性 alGetInteger( param )
描述: 此函式返回一個整型 OpenAL 狀態。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要查詢的狀態 AL_DOPPLER_FACTOR AL_SPEED_OF_SOUND AL_DISTANCE_MODEL |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
將返回由 param 描述的整型狀態。
全域性 alGetFloat#( param )
描述: 此函式返回一個浮點型 OpenAL 狀態。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要查詢的狀態 AL_DOPPLER_FACTOR AL_SPEED_OF_SOUND AL_DISTANCE_MODEL |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
將返回由 param 描述的浮點型狀態。
全域性 alGetDouble!( param )
描述: 此函式返回一個雙精度浮點型 OpenAL 狀態。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要查詢的狀態 AL_DOPPLER_FACTOR AL_SPEED_OF_SOUND AL_DISTANCE_MODEL |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
將返回由 param 描述的雙精度值。
全域性 alGetError()
描述: 此函式返回當前錯誤狀態,然後清除錯誤狀態。
資訊: 返回一個表示錯誤狀態的 Alenum。當 OpenAL 發生錯誤時,錯誤狀態將被設定,並且不會被更改,直到使用 alGetError 獲取錯誤狀態。每次呼叫 alGetError 時,錯誤狀態都會被清除,並且會返回最後一個狀態(呼叫時當前的狀態)。為了將錯誤檢測隔離到程式碼的特定部分,應該在隔離部分之前呼叫 alGetError 以清除當前錯誤狀態。
全域性 alIsExtensionPresent( extname$z )
描述: 此函式測試 OpenAL 驅動程式是否提供特定擴充套件。
資訊:
| 引數 | 描述 |
|---|---|
| extname | 一個以 null 結尾的字串,描述所需的擴充套件 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 指定的擴充套件字串不是一個有效的指標。 |
如果擴充套件可用,則返回 AL_TRUE,如果擴充套件不可用,則返回 AL_FALSE。
全域性 alGetProcAddress:Byte Ptr( fname$z )
描述: 此函式返回 OpenAL 擴充套件函式的地址。
資訊:
| 引數 | 描述 |
|---|---|
| fname | 一個以 null 結尾的字串,包含函式名 |
返回值是指向指定函式的指標。如果未找到函式,則返回值將為 NULL。
全域性 alGetEnumValue( ename$z )
描述: 此函式返回由字串描述的 OpenAL 列舉的列舉值。
資訊:
| 引數 | 描述 |
|---|---|
| ename | 一個以 null 結尾的字串,描述一個 OpenAL 列舉 |
返回由字串描述的實際 ALenum。如果字串沒有描述有效的 OpenAL 列舉,則返回 NULL。
全域性 alListenerf( param,value# )
描述: 此函式為監聽器設定一個浮點型屬性。相關屬性在監聽器屬性表中列出。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要設定的屬性的名稱:AL_GAIN |
| value | 要設定為屬性的 ALfloat 值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
全域性 alListener3f( param,value1#,value2#,value3# )
描述: 此函式為監聽器設定一個浮點型屬性。相關屬性在監聽器屬性表中列出。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要設定的屬性的名稱 AL_POSITION AL_VELOCITY |
| v1, v2, v3 | 要設定為屬性的值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
全域性 alListenerfv( param,values:Float Ptr )
描述: 此函式設定監聽器的浮點型向量屬性。相關屬性在監聽器屬性表中列出。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要設定的屬性的名稱 AL_POSITION AL_VELOCITY AL_ORIENTATION |
| values | 指向浮點型向量值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
全域性 alListeneri( param,value )
描述: 此函式設定監聽器的整型屬性。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要設定的屬性的名稱 |
| value | 要設定為屬性的整型值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
OpenAL 1.1 沒有定義任何整型監聽器屬性,但此函式可被擴充套件使用。
全域性 alListener3i( param,value1,value2,value3 )
描述: 此函式設定監聽器的整型屬性。相關屬性在監聽器屬性表中列出。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要設定的屬性的名稱 AL_POSITION AL_VELOCITY |
| value1, value2, value3 | 要設定為屬性的整型值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
全域性 alListeneriv( param,values:Int Ptr )
描述: 此函式設定監聽器的整型屬性。相關屬性在監聽器屬性表中列出。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要設定的屬性的名稱 AL_POSITION AL_VELOCITY AL_ORIENTATION |
| values | 指向要設定為屬性的整型值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
全域性 alGetListenerf( param,value:Float Ptr )
描述: 此函式檢索監聽器的浮點型屬性。相關屬性在監聽器屬性表中列出。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要檢索的屬性的名稱:AL_GAIN |
| value | 指向要檢索的浮點型值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
全域性 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( param,values:Float Ptr )
描述: 此函式檢索監聽器的浮點型向量屬性。相關屬性在監聽器屬性表中列出。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要檢索的屬性的名稱 AL_POSITION AL_VELOCITY AL_ORIENTATION |
| values | 指向要檢索的浮點型向量值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
全域性 alGetListeneri( param,value:Int Ptr )
描述: 此函式檢索監聽器的整型屬性。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要檢索的屬性的名稱 |
| value | 獲取的整數值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
OpenAL 1.1 沒有定義任何整型監聽器屬性,但此函式可被擴充套件使用。
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 | 沒有當前上下文。 |
Global alGetListeneriv( param,values:Int Ptr )
描述: 此函式檢索監聽器的整型屬性。相關屬性列在監聽器屬性表中。
資訊:
| 引數 | 描述 |
|---|---|
| param | 要檢索的屬性的名稱 AL_POSITION AL_VELOCITY AL_ORIENTATION |
| values | 獲取的整數值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
Global alGenBuffers( n,buffers:Int Ptr )
描述: 此函式生成一個或多個緩衝區,其中包含音訊資料(請參閱 alBufferData)。緩衝區的引用是 ALuint 值,在需要緩衝區引用時使用(在 alDeleteBuffers、alSourcei、alSourceQueueBuffers 和 alSourceUnqueueBuffers 等呼叫中)。
資訊:
| 引數 | 描述 |
|---|---|
| n | 要生成的緩衝區數量 |
| 緩衝區 | 指向 ALuint 值陣列的指標,這些值將儲存新緩衝區的名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 緩衝區陣列不足以容納請求的緩衝區數量。 |
| AL_OUT_OF_MEMORY | 沒有足夠的記憶體來生成所有請求的緩衝區。 |
如果無法建立請求的緩衝區數量,則會生成一個錯誤,可以使用 alGetError 檢測到。如果發生錯誤,將不會生成任何緩衝區。如果 n 等於零,則 alGenBuffers 不會執行任何操作,也不會返回錯誤。
Global alDeleteBuffers( n,buffers:Int Ptr )
描述: 此函式刪除一個或多個緩衝區,釋放緩衝區使用的資源。附加到源的緩衝區無法刪除。有關如何將緩衝區從源分離的資訊,請參閱 alSourcei 和 alSourceUnqueueBuffers。
資訊:
| 引數 | 描述 |
|---|---|
| n | 要刪除的緩衝區數量 |
| 緩衝區 | 指向緩衝區名稱陣列的指標,這些名稱標識要刪除的緩衝區 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_OPERATION | 緩衝區仍在使用中,無法刪除。 |
| AL_INVALID_NAME | 緩衝區名稱無效。 |
| AL_INVALID_VALUE | 無法刪除請求的緩衝區數量。 |
如果無法刪除請求的緩衝區數量,則會生成一個錯誤,可以使用 alGetError 檢測到。如果發生錯誤,將不會刪除任何緩衝區。如果 n 等於零,則 alDeleteBuffers 不會執行任何操作,也不會返回錯誤。
Global alIsBuffer( bid )
描述: 此函式測試緩衝區名稱是否有效,如果有效則返回 AL_TRUE,否則返回 AL_FALSE。
資訊:
| 引數 | 描述 |
|---|---|
| bid | 要測試其有效性的緩衝區名稱 |
NULL 緩衝區始終有效(有關 NULL 緩衝區的用法,請參閱 alSourcei)。
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_VALUE | size 引數對於指定的格式無效,緩衝區正在使用中,或者資料是 NULL 指標。 |
| AL_INVALID_ENUM | 指定的格式不存在。 |
8 位 PCM 資料表示為 0 到 255 範圍內的無符號值,其中 128 是音訊輸出電平為零。16 位 PCM 資料表示為 -32768 到 32767 範圍內的有符號值,其中 0 是音訊輸出電平為零。立體聲資料以交錯格式表示,左側聲道優先。包含多個聲道資料的緩衝區將以 3D 空間化方式播放。
Global alBufferf( bid,param,value# )
描述: 此函式設定緩衝區的浮點屬性。
資訊:
| 引數 | 描述 |
|---|---|
| bid | 正在檢索其屬性的緩衝區名稱 |
| param | 要設定的屬性名稱 |
| value | 要設定的 ALfloat 值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_NAME | 指定的緩衝區沒有引數(NULL 緩衝區),或者不存在。 |
OpenAL 1.1 中沒有定義可以受此呼叫影響的相關緩衝區屬性,但此函式可用於 OpenAL 擴充套件。
Global alBuffer3f( bid,param,value1#,value2#,value3# )
描述: 此函式設定緩衝區的浮點屬性。
資訊:
| 引數 | 描述 |
|---|---|
| bid | 正在檢索其屬性的緩衝區名稱 |
| param | 要設定的屬性的名稱 |
| value1, value2, value3 | 要設定的 ALfloat 值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_NAME | 指定的緩衝區沒有引數(NULL 緩衝區),或者不存在。 |
OpenAL 1.1 中沒有定義可以受此呼叫影響的相關緩衝區屬性,但此函式可用於 OpenAL 擴充套件。
Global alBufferfv( bid,param,values:Float Ptr )
描述: 此函式設定緩衝區的浮點屬性。
資訊:
| 引數 | 描述 |
|---|---|
| bid | 正在檢索其屬性的緩衝區名稱 |
| param | 要設定的屬性的名稱 |
| values | 指向要設定的 ALfloat 值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_NAME | 指定的緩衝區沒有引數(NULL 緩衝區),或者不存在。 |
OpenAL 1.1 中沒有定義可以受此呼叫影響的相關緩衝區屬性,但此函式可用於 OpenAL 擴充套件。
Global alBufferi( bid,param,value )
描述: 此函式設定緩衝區的浮點屬性。
資訊:
| 引數 | 描述 |
|---|---|
| bid | 正在檢索其屬性的緩衝區名稱 |
| param | 要設定的屬性名稱 |
| value | 要設定的 ALint 值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_NAME | 指定的緩衝區沒有引數(NULL 緩衝區),或者不存在。 |
OpenAL 1.1 中沒有定義可以受此呼叫影響的相關緩衝區屬性,但此函式可用於 OpenAL 擴充套件。
Global alBuffer3i( bid,param,value1,value2,value3 )
描述: 此函式設定緩衝區的浮點屬性。
資訊:
| 引數 | 描述 |
|---|---|
| bid | 正在檢索其屬性的緩衝區名稱 |
| param | 要設定的屬性名稱 |
| value1, value2, value3 | 要設定的 ALint 值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_NAME | 指定的緩衝區沒有引數(NULL 緩衝區),或者不存在。 |
OpenAL 1.1 中沒有定義可以受此呼叫影響的相關緩衝區屬性,但此函式可用於 OpenAL 擴充套件。
Global alBufferiv( bid,param,values:Int Ptr )
描述: 此函式設定緩衝區的浮點屬性。
資訊:
| 引數 | 描述 |
|---|---|
| bid | 正在檢索其屬性的緩衝區名稱 |
| param | 要設定的屬性名稱 |
| values | 指向要設定的 ALint 值的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_ENUM | 指定的引數無效。 |
| AL_INVALID_NAME | 指定的緩衝區沒有引數(NULL 緩衝區),或者不存在。 |
OpenAL 1.1 中沒有定義可以受此呼叫影響的相關緩衝區屬性,但此函式可用於 OpenAL 擴充套件。
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 擴充套件。
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 擴充套件。
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 擴充套件。
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 擴充套件。
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 擴充套件。
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 擴充套件使用。
Global alGenSources( n,sources:Int Ptr )
描述: 此函式生成一個或多個源。對源的引用是 ALuint 值,這些值在需要源引用時使用(在諸如 alDeleteSources 和 alSourcei 的呼叫中)。
資訊:
| 引數 | 描述 |
|---|---|
| n | 要生成的源數 |
| 源 | 指向 ALuint 值陣列的指標,這些值將儲存新源的名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_OUT_OF_MEMORY | 沒有足夠的記憶體來生成所有請求的源。 |
| AL_INVALID_VALUE | 沒有足夠的非記憶體資源來建立所有請求的源,或者陣列指標無效。 |
| AL_INVALID_OPERATION | 沒有上下文來建立源。 |
如果無法建立請求數量的源,則將生成錯誤,可以使用 alGetError 檢測到。如果發生錯誤,將不會生成任何源。如果 n 等於零,alGenSources 不會執行任何操作,也不會返回錯誤。
Global alDeleteSources( n,sources:Int Ptr )
描述: 此函式刪除一個或多個源。
資訊:
| 引數 | 描述 |
|---|---|
| n | 要刪除的源數 |
| 源 | 指向源名稱陣列的指標,這些名稱標識要刪除的源 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_NAME | 至少有一個指定的源無效,或者正在嘗試刪除比現有源更多的源。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
如果無法刪除請求數量的源,則將生成錯誤,可以使用 alGetError 檢測到。如果發生錯誤,將不會刪除任何源。如果 n 等於零,alDeleteSources 不會執行任何操作,也不會返回錯誤。可以刪除正在播放的源 - 源將被停止然後刪除。
Global alIsSource( sid )
描述: 此函式測試源名稱是否有效,如果有效則返回 AL_TRUE,否則返回 AL_FALSE。
資訊:
| 引數 | 描述 |
|---|---|
| sid | 要測試有效性的源名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_OPERATION | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 的替代方案。
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 的替代方案。
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 附加的源中分離緩衝區非常有用。
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
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 | 沒有當前上下文。 |
Global alSourcePlayv( ns,sids:Int Ptr )
描述: 此函式播放一組源。
資訊:
| 引數 | 描述 |
|---|---|
| ns | 要播放的源數 |
| sids | 指向要播放的源陣列的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
正在播放的源將將其狀態更改為 AL_PLAYING。當在已經播放的源上呼叫時,源將從開頭重新開始。當附加的緩衝區播放完畢後,源將進入 AL_STOPPED 狀態。
Global alSourceStopv( ns,sids:Int Ptr )
描述: 此函式停止一組源。
資訊:
| 引數 | 描述 |
|---|---|
| ns | 要停止的源數 |
| sids | 指向要停止的源陣列的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
停止的源將將其狀態更改為 AL_STOPPED。
Global alSourceRewindv( ns,sids:Int Ptr )
描述: 此函式停止一組聲源並將它們的狀態設定為 AL_INITIAL。
資訊:
| 引數 | 描述 |
|---|---|
| ns | 要倒帶的聲源數量 |
| sids | 指向要倒帶的聲源陣列的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
Global alSourcePausev( ns,sids:Int Ptr )
描述: 此函式暫停一組聲源。
資訊:
| 引數 | 描述 |
|---|---|
| ns | 要暫停的聲源數量 |
| sids | 指向要暫停的聲源陣列的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 給定的值指標無效。 |
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
暫停的聲源狀態將更改為 AL_PAUSED。
Global alSourcePlay( sid )
描述: 此函式播放聲源。
資訊:
| 引數 | 描述 |
|---|---|
| sid | 要播放的聲源名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
正在播放的聲源狀態將更改為 AL_PLAYING。當對已經播放的聲源呼叫時,聲源將從開頭重新開始。當附加的緩衝區播放完畢時,聲源將進入 AL_STOPPED 狀態。
Global alSourceStop( sid )
描述: 此函式停止聲源。
資訊:
| 引數 | 描述 |
|---|---|
| sid | 要停止的聲源名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
停止的聲源狀態將更改為 AL_STOPPED。
Global alSourceRewind( sid )
描述: 此函式停止聲源並將其狀態設定為 AL_INITIAL。
資訊:
| 引數 | 描述 |
|---|---|
| sid | 要倒帶的聲源名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
Global alSourcePause( sid )
描述: 此函式暫停聲源。
資訊:
| 引數 | 描述 |
|---|---|
| sid | 要暫停的聲源名稱 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
暫停的聲源狀態將更改為 AL_PAUSED。
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。
Global alSourceUnqueueBuffers( sid,numEntries,bids:Int Ptr )
描述: 此函式取消排隊附加到聲源的一組緩衝區。可以使用 alSourcei 呼叫來獲取 AL_BUFFERS_PROCESSED 來檢測已處理緩衝區的數量,這是可以使用此呼叫取消排隊的最大緩衝區數量。
資訊:
| 引數 | 描述 |
|---|---|
| sid | 要取消排隊緩衝區的聲源名稱 |
| numEntries | 要取消排隊的緩衝區數量 |
| bids | 指向已移除的緩衝區名稱陣列的指標 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 至少有一個緩衝區無法取消排隊,因為它尚未處理。 |
| AL_INVALID_NAME | 指定的源名稱無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
僅當所有 n 個緩衝區都可以從佇列中移除時才會執行取消排隊操作。
Global alDopplerFactor( value# )
描述: 此函式選擇 OpenAL 多普勒因子值。
資訊:
| 引數 | 描述 |
|---|---|
| value | 要設定的多普勒比例值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 指定的 value 值無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
預設的多普勒因子值為 1.0。
Global alDopplerVelocity( value# )
描述: 此函式選擇用於多普勒計算的聲音速度。
資訊:
| 引數 | 描述 |
|---|---|
| value | 要設定的聲音速度值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 指定的 value 值無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
預設的聲音速度值為 343.3。
Global alSpeedOfSound( value# )
描述: 此函式選擇用於多普勒計算的聲音速度。
資訊:
| 引數 | 描述 |
|---|---|
| value# | 要設定的聲音速度值 |
| 可能的錯誤狀態 | 描述 |
|---|---|
| AL_INVALID_VALUE | 指定的 value 值無效。 |
| AL_INVALID_OPERATION | 沒有當前上下文。 |
預設的聲音速度值為 343.3。
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。