XAudio2 API
XAudio2 API 技術的概觀。
若要開發 XAudio2 API,您需要下列標頭:
如需這項技術的程式設計指引,請參閱:
類別
CXAPOBase IXAPO 介面的預設實作。 |
CXAPOParametersBase IXAPOParameters 介面的預設實作。 |
列舉
HrtfDirectivityType 指出數種股票直接性模式的其中一種。 |
HrtfDistanceDecayType 表示套用至音效的距離型衰減類型。 |
HrtfEnvironment 指出數種股票環境類型的其中一種。 |
XAPO_BUFFER_FLAGS 描述資料流程緩衝區的內容。 |
XAUDIO2_FILTER_TYPE 表示篩選類型。 |
函式
AddRef 將參考加入至 XAudio2 物件。 |
BeginProcess 傳回目前的進程參數。 |
CalcInputFrames 傳回產生指定輸出畫面格數目所需的輸入畫面數。 |
CalcOutputFrames 傳回將從指定輸入畫面格數目產生的輸出畫面格數目。 |
CommitChanges 以不可部分完成的方式套用一組以指定識別碼標記的作業。 |
CreateFX 建立所要求 XAPOFX 效果的實例。 |
CreateHrtfApo 為前端相關傳輸函式建立 IXAPO 介面的實例, (HRTF) 處理。 |
CreateMasteringVoice 建立並設定主控語音。 |
CreateSourceVoice 建立並設定來源語音。 |
CreateSubmixVoice 建立並設定副混音。 |
CXAPOBase 建立 CXAPOBase 類別的實例。 |
CXAPOParametersBase 建立 CXAPOParametersBase 類別的實例。 |
DestroyVoice 終結語音。 如有必要,請停止語音,並從 XAudio2 圖表中移除它。 |
DisableEffect 停用語音效果鏈中指定位置的效果。 |
間斷 通知 XAudio2 語音,其佇列中目前最後一個緩衝區之後不會再傳回任何緩衝區。 |
EnableEffect 在語音效果鏈結的指定位置啟用效果。 |
EndProcess 通知 CXAPOParametersBase XAPO 已完成存取目前的進程參數。 |
ExitLoop 當語音到達目前迴圈區域的結尾時停止迴圈。 |
FlushSourceBuffers 從語音佇列中移除所有暫止的音訊緩衝區。 |
GetChannelMask 傳回此語音的通道遮罩。 |
GetChannelVolumes 傳回每個通道語音的音量層級。 |
GetEffectParameters 傳回語音效果鏈中指定效果的目前效果特定參數。 |
GetEffectState 傳回效果在語音效果鏈中指定位置的效果執行狀態。 |
GetFilterParameters 取得語音的篩選參數。 |
GetFrequencyRatio 傳回語音的頻率調整比例。 |
GetOutputFilterParameters 從這個語音的其中一個傳送傳回篩選參數。 |
GetOutputMatrix 取得語音最終輸出之每個通道的音量層級。 這些通道會對應至指定目的地語音的輸入通道。 |
GetParameters 取得任何效果特定參數的目前值。 |
GetPerformanceData 傳回目前的資源使用量詳細資料,例如可用的記憶體或 CPU 使用量。 |
GetRegistrationProperties 傳回 XAPO 的註冊屬性。 |
GetRegistrationPropertiesInternal 傳回包含建立 XAPO 之註冊屬性之XAPO_REGISTRATION_PROPERTIES結構的指標。 |
GetState 傳回語音的目前資料指標位置資料。 |
GetVoiceDetails 傳回語音建立旗標、輸入通道和取樣率的相關資訊。 |
GetVolume 取得語音目前的整體音量層級。 |
初始 化 執行任何效果特定的初始化。 |
IsInputFormatSupported 特定輸出格式是否支援特定輸入格式的查詢。 |
IsLocked 查詢 XAPO 是否已鎖定。 |
IsOutputFormatSupported 指定輸入格式是否支援特定輸出格式的查詢。 |
LockForProcess 由 XAudio2 呼叫,以鎖定 XAPO 的輸入和輸出組態,以便在即時執行緒上呼叫 Process 之前執行任何最終初始化。 |
OnBufferEnd 當語音完成處理緩衝區時呼叫。 |
OnBufferStart 當語音即將開始處理新的音訊緩衝區時呼叫。 |
OnCriticalError 如果在發生需要關閉並重新啟動 XAudio2 的重大系統錯誤時呼叫。 |
OnLoopEnd 當語音到達迴圈的結束位置時呼叫。 |
OnProcessingPassEnd XAudio2 在音訊處理階段結束時呼叫。 |
OnProcessingPassStart XAudio2 在音訊處理階段開始之前呼叫。 |
OnSetParameters 由 IXAPOParameters::SetParameters 呼叫,以允許使用者定義參數驗證。 |
OnStreamEnd 當語音剛完成播放連續音訊串流時呼叫。 |
OnVoiceError 在語音處理期間發生重大錯誤時呼叫。 |
OnVoiceProcessingPassEnd 在語音的處理階段結束之後呼叫。 |
OnVoiceProcessingPassStart 在每個語音的處理階段期間呼叫,就在 XAudio2 從語音的緩衝區佇列讀取資料之前。 |
ParametersChanged 指出自上次處理階段之後是否已呼叫 IXAPOParameters::SetParameters。 |
處理 在指定的輸入和輸出緩衝區上執行 XAPO 的數位訊號處理 (DSP) 程式碼。 |
ProcessThru 當停用 XAPO 以進行處理時,由 IXAPO::P rocess 實作呼叫。 |
QueryInterface 在 XAudio2 物件上查詢指定的 COM 介面。 |
RegisterForCallbacks 將 IXAudio2EngineCallback 指標新增至 XAudio2 引擎回呼清單。 |
版本 釋放 XAudio2 物件的參考。 |
重設 重設相依于畫面格歷程記錄的變數。 |
ReverbConvertI3DL2ToNative 將 I3DL2 (互動式 3D 音訊轉譯指導方針層級 2.0) 參數轉換成原生 XAudio2 參數的內嵌函式。 |
SetChannelVolumes 設定每個通道語音的音量層級。 |
SetDebugConfiguration 變更 XAudio2 的全域偵錯記錄選項。 |
SetEffectChain 取代語音的效果鏈結。 |
SetEffectParameters 在語音的效果鏈結中設定指定效果的參數。 |
SetEnvironment 選取要模擬的原音環境。 |
SetFilterParameters 設定語音的篩選參數。 |
SetFrequencyRatio 設定語音的頻率調整比例。 |
SetOutputFilterParameters 設定此語音其中一個傳送的篩選參數。 |
SetOutputMatrix 設定語音最終輸出之每個通道的音量層級。 這些通道會對應至指定目的地語音的輸入通道。 |
SetOutputVoices 指定一組新的副混音或主音,以接收語音的輸出。 |
SetParameters 設定效果特定的參數。 |
SetSourceGain 設定目前來源位置的自訂直接路徑取得值。 僅適用于使用 HrtfDistanceDecayType 自訂衰減類型播放的音效。 |
SetSourceOrientation 針對接聽程式的座標系統,設定來源方向的旋轉矩陣。 |
SetSourcePosition 設定相對於接聽程式之音效的位置。 |
SetSourceSampleRate 重新設定語音,以與建立語音時所指定的速率不同的取樣率取用來源資料。 |
SetVolume 設定語音的整體音量層級。 |
啟動 開始依語音取用和處理音訊。 將結果傳遞至任何連接的副混音或主控語音,或傳遞至輸出裝置。 |
StartEngine 啟動音訊處理執行緒。 |
停止 停止目前語音的音訊耗用量。 |
StopEngine 停止音訊處理執行緒。 |
SubmitSourceBuffer 將新的音訊緩衝區新增至語音佇列。 |
UnlockForProcess 解除配置使用 LockForProcess 方法配置的變數。 |
UnregisterForCallbacks 從 XAudio2 引擎回呼清單中移除 IXAudio2EngineCallback 指標。 |
ValidateFormatDefault 確認音訊格式落在支援的預設範圍內。 |
ValidateFormatPair 確認 XAPO 支援輸入和輸出格式組態。 |
X3DAudioCalculate 計算 3D 參數的 DSP 設定。 |
X3DAudioInitialize 設定所有全域 3D 音訊常數。 |
XAPOAlloc IXAPO 方法所使用的記憶體配置宏,這些方法必須配置後續傳回給應用程式的任意大小結構。 |
XAPOFree 用來釋放搭配 XAPOAlloc 宏配置的記憶體的宏。 |
XAudio2AmplitudeRatioToDecibels 內嵌函式,可將幅度比率值轉換成小數位數。 |
XAudio2Create 建立新的 XAudio2 物件,並傳回其 IXAudio2 介面的指標。 |
XAudio2CreateReverb (APO) 建立新的殘響音訊處理物件,並傳回它的指標。 |
XAudio2CreateVolumeMeter (APO) 建立新的音量計量音訊處理物件,並傳回其指標。 |
XAudio2CutoffFrequencyToOnePoleCoefficient 內嵌函式,從以 hertz 表示的篩選截斷頻率轉換成與XAUDIO2_FILTER_PARAMETERS結構之 Frequency 成員搭配使用的篩選係數。 |
XAudio2CutoffFrequencyToRadian 內嵌函式,從以 hertz 表示的篩選截斷頻率轉換成XAUDIO2_FILTER_PARAMETERS結構之 Frequency 成員中使用的弧度頻率值。 |
XAudio2DecibelsToAmplitudeRatio 將小數位數轉換為幅度比例值的內嵌函式。 |
XAudio2FrequencyRatioToSemitones 將頻率比例值轉換為半色調值的內嵌函式。 |
XAudio2RadianToCutoffFrequency 內嵌函式,其會從XAUDIO2_FILTER_PARAMETERS中使用的弧度頻率轉換為長波中的絕對頻率。 |
XAudio2SemitonesToFrequencyRatio 將半色調值轉換為頻率比率值的內嵌函式。 |
介面
IXAPO 音訊處理物件的介面,用於 XAudio2 效果鏈結。 |
IXAPOHrtfParameters 介面,用來設定參數,以控制前端相關傳輸函式 (HRTF) 套用至音效的方式。 |
IXAPOParameters 選擇性介面,可讓 XAPO 使用效果特定參數。 |
IXAudio2 IXAudio2 是 XAudio2 物件的介面,可管理所有音訊引擎狀態、音訊處理執行緒、語音圖形等等。 |
IXAudio2EngineCallback IXAudio2EngineCallback 介面包含方法,可在 IXAudio2 引擎中發生特定事件時通知用戶端。 |
IXAudio2MasteringVoice 主控語音用來代表音訊輸出裝置。 |
IXAudio2SourceVoice 使用來源語音將音訊資料提交至 XAudio2 處理管線。 |
IXAudio2SubmixVoice 副混音主要用於效能改善和效果處理。 |
IXAudio2Voice IXAudio2Voice 代表衍生自 IXAudio2SourceVoice、IXAudio2SubmixVoice 和 IXAudio2MasteringVoice 的基底介面。 下列方法適用于所有語音子類別。 |
IXAudio2VoiceCallback IXAudio2VoiceCallback 介面包含方法,可在指定的 IXAudio2SourceVoice 中發生特定事件時通知用戶端。 |
結構
FXECHO_INITDATA 用於 FXECHO XAPOFX 的初始化參數。 |
FXECHO_PARAMETERS 與 FXECHO XAPOFX 搭配使用的參數。 |
FXEQ_PARAMETERS 用於 FXEQ XAPO 的參數。 |
FXMASTERINGLIMITER_PARAMETERS 用於 FXMasteringLimiter XAPO 的參數。 |
FXREVERB_PARAMETERS 與 FXReverb XAPO 搭配使用的參數。 |
HrtfApoInit 指定用來初始化 HRTF 空間音訊的參數。 |
HrtfDirectivity 基底直接性模式描述元。 描述套用至音效的直接性類型。 |
HrtfDirectivityCardioid 描述一種正向性模式。 |
HrtfDirectivityCone 描述圓錐直接性。 |
HrtfDistanceDecay 描述以距離為基礎的衰減行為。 |
HrtfOrientation 表示 HRTF 直接性物件的方向。 |
HrtfPosition 表示使用右手座標系統在 3D 空間中的位置。 |
X3DAUDIO_CONE 藉由調整與發出器方向相關的 DSP 行為,指定單一通道非 LFE 發出器的方向方向的方向。 |
X3DAUDIO_DISTANCE_CURVE 定義由線性線段組成的明確片段曲線,並直接定義與標準化距離相關的 DSP 行為。 |
X3DAUDIO_DISTANCE_CURVE_POINT 定義指定標準化距離的 DSP 設定。 |
X3DAUDIO_DSP_SETTINGS 從呼叫 X3DAudioCalculate 接收結果。 |
X3DAUDIO_EMITTER 定義單一點或多點 3D 音訊來源,該來源與任意數目的音效通道搭配使用。 |
X3DAUDIO_LISTENER 定義 3D 音訊接收點。 |
XAPO_LOCKFORPROCESS_PARAMETERS 定義在 XAPO 鎖定時維持不變的資料流程緩衝區參數。 與 IXAPO::LockForProcess 方法搭配使用。 |
XAPO_PROCESS_BUFFER_PARAMETERS 定義串流緩衝區參數,這些參數可能會從一個呼叫變更為下一個呼叫。 與 Process 方法搭配使用。 |
XAPO_REGISTRATION_PROPERTIES 描述 XAPO 的一般特性。 與 IXAPO::GetRegistrationProperties、CXAPOParametersBase::CXAPOParametersBase 和 CXAPOBase 搭配使用。 |
XAUDIO2_BUFFER 表示與 IXAudio2SourceVoice::SubmitSourceBuffer 搭配使用的音訊資料緩衝區。 |
XAUDIO2_BUFFER_WMA 在提交 xWMA 資料時搭配 IXAudio2SourceVoice::SubmitSourceBuffer 使用。 |
XAUDIO2_DEBUG_CONFIGURATION 包含 XAudio2 的新全域偵錯組態。 搭配 SetDebugConfiguration 函式使用。 |
XAUDIO2_EFFECT_CHAIN 定義效果鏈結。 |
XAUDIO2_EFFECT_DESCRIPTOR 包含用於效果鏈結的 XAPO 相關資訊。 |
XAUDIO2_FILTER_PARAMETERS 定義來源語音的篩選參數。 |
XAUDIO2_PERFORMANCE_DATA 包含效能資訊。 (XAUDIO2_PERFORMANCE_DATA) |
XAUDIO2_SEND_DESCRIPTOR 定義目的地語音,這是從另一個語音傳送的目標,並指定是否應該使用篩選。 |
XAUDIO2_VOICE_DETAILS 包含建立旗標、輸入通道和語音取樣率的相關資訊。 |
XAUDIO2_VOICE_SENDS 定義一組語音,以接收來自單一輸出語音的資料。 |
XAUDIO2_VOICE_STATE 傳回語音的目前狀態和游標位置資料。 |
XAUDIO2FX_REVERB_I3DL2_PARAMETERS 描述 I3DL2 (互動式 3D 音訊轉譯指導方針層級 2.0) 參數,以用於 ReverbConvertI3DL2ToNative 函式。 |
XAUDIO2FX_REVERB_PARAMETERS 描述用於殘響 APO 的參數。 |
XAUDIO2FX_VOLUMEMETER_LEVELS 描述與磁片區計量 APO 搭配使用的參數。 |