音訊裝置 DDI 參考

音訊裝置 DDI 參考技術的概觀。

若要開發音訊裝置 DDI 參考,您需要下列標頭:

如需這項技術的程式設計指引,請參閱:

列舉

 
APO_FLAG

APO_FLAG列舉會定義常數,這些常數會由音訊處理物件 (APO) 做為旗標使用。
APO_LOG_LEVEL

指定以 IAudioProcessingObjectLoggingService::ApoLog 記錄的 APO 事件層級。
APO_NOTIFICATION_TYPE

指定APO_NOTIFICATION的類型。
AUDIO_SYSTEMEFFECT_STATE

指定系統效果音訊處理物件的狀態, (sAPO) 音訊效果。
KSPROPERTY_AUDIOEFFECTSDISCOVERY

KSPROPERTY_AUDIOEFFECTSDISCOVERY列舉會定義常數,該常數是由音訊處理物件清單 (API) 使用。

函式

 
AcceptInput

在其其中一個輔助輸入上提供 APO 的輸入。
啟用

Activate 方法會啟用或停用程式控制下的音訊裝置。
啟用

Activate 方法會啟動或停用合成器接收。
AddAuxiliaryInput

將輔助輸入新增至 APO,並提供初始化參數。
AERT_Allocate

AERT_Allocate公用程式函式會配置並鎖定記憶體區段,以供音訊處理物件使用。
AERT_Free

AERT_Free公用程式函式會釋放 (釋放AERT_Allocate函式鎖定的) 記憶體,以供音訊處理物件用來處理音訊資料。
ApoLog

記錄 APO 事件。
APOProcess

APOProcess 方法會使 APO 進行處理傳遞。
AssignChannelToBuses

AssignChannelToBuses 不受支援,未來可能會變更或無法使用。
CalcInputFrames

CalcInputFrames 方法會傳回 APO 產生指定輸出畫面格數目所需的輸入畫面數。
CalcOutputFrames

CalcOutputFrames 方法會傳回 APO 針對指定輸入畫面格數目所需的輸出畫面數。
關閉

Close 方法會關閉 DirectMusic 「port」,這是傳送或接收音樂資料之裝置的 DirectMusic 字詞。
認可

進行變更之後,這個方法會儲存變更。
CreateAudioMediaType

CreateAudioMediaType 函式會使用呼叫端指定的格式來建立描述音訊格式的媒體類型物件。
CreateAudioMediaTypeFromUncompressedAudioFormat

CreateAudioMediaTypeFromUncompressedAudioFormat 函式會使用 UNCOMPRESSEDAUDIOFORMAT 結構中提供的資訊來建立描述音訊格式的媒體類型物件。
下載

Download 方法會將波浪或檢測定義下載至合成器。
GetApoNotificationRegistrationInfo

由系統呼叫,以允許用戶端註冊以接收 APO 端點和系統效果通知的通知回呼。
GetAppend

GetAppend 方法會輸出 DirectMusic 「port」 必須附加至下載緩衝區結尾的額外波浪樣本數目。
GetAt

從專案的屬性陣列取得屬性索引鍵。
GetAudioFormat

GetAudioFormat 方法會傳回音頻資料格式的顯示方式X 結構。
GetChannelPriority

GetChannelPriority 方法會輸出 MIDI 通道的優先順序。
GetControllableSystemEffectsList

由系統效果音訊處理物件實作 (sAPO) 音訊效果,讓呼叫者取得目前的效果清單。
GetCount

這個方法會傳回附加至檔案的屬性數目計數。
GetDesiredBufferSize

GetDesiredBufferSize 方法會擷取合成器的慣用緩衝區大小,以樣本表示。
GetEffectsList

GetEffectsList 方法可用來擷取目前使用中的音訊處理效果清單,並在清單變更時儲存要發出訊號的事件。
GetFormat

GetFormat 方法會擷取自訂格式的 IAudioMediaType 標記法。
GetFormat

GetFormat 方法會擷取波浪格式的相關資訊。
GetFormatCount

GetFormatCount 方法會擷取系統效果音訊處理物件所支援的自訂格式數目, (sAPO) 。
GetFormatRepresentation

GetFormatRepresentation 方法會擷取自訂格式的字串表示,以便顯示在使用者介面上。
GetInputChannelCount

GetInputChannelCount 會針對此 APO 傳回輸入通道計數, (每個畫面格的樣本數) 。
GetLatency

GetLatency 方法會傳回此 APO 的延遲。 延遲是周遊 APO 處理階段的框架所花費的時間量。
GetLatencyClock

GetLatencyClock 方法會擷取 IReferenceClock 介面的參考, (Microsoft Windows SDK在追蹤目前混合時間的參考時鐘物件) 中所述。
GetLatencyClock

GetLatencyClock 方法會擷取延遲時鐘,以測量輸出音訊資料流程的進度。
GetPortCaps

GetPortCaps 方法會擷取 DirectMusic 「port」 的功能,這是傳送或接收音樂資料之裝置的 DirectMusic 詞彙。
GetRealTimeWorkQueue

取得工作佇列的識別碼,APO 可用來排程需要以即時優先順序執行的工作。
GetRegistrationProperties

GetRegistrationProperties 會傳回 APO) (音訊處理物件的註冊屬性。
GetRunningStats

GetRunningStats 方法會擷取合成器狀態的目前資訊,讓應用程式能夠分辨合成器的執行方式。
GetUncompressedAudioFormat

IAudioMediaType::GetUncompressedAudioFormat 會傳回音頻資料格式的相關資訊。
GetValue

這個方法會擷取特定屬性的資料。
GetVoiceState

不支援 GetVoiceState,未來可能會變更或無法使用。
HandleNotification

由系統呼叫,以通知用戶端對 APO 端點或系統效果所做的變更。
Init

Init 方法會初始化 synth-sink 物件。
[初始化]

Initialize 方法會初始化 APO,並支援可變長度的資料。
IsCompressedFormat

IsCompressedFormat 方法會判斷音訊資料格式是否為壓縮格式。
IsEqual

IsEqual 方法會比較兩種媒體類型,並判斷它們是否相同。
IsInputFormatSupported

確認 APO 支援特定的輔助輸入格式。
IsInputFormatSupported

這個方法會與 Windows Vista 音訊引擎交涉,以建立音訊資料流程的資料格式。
IsOutputFormatSupported

IsOutputFormatSupported 方法可用來驗證是否支援特定的輸出格式。
LockForProcess

LockForProcess 方法可用來確認 APO 已鎖定並準備好處理資料。
開啟

Open 方法會開啟 DirectMusic 合成器 「port」。
PlayBuffer

PlayBuffer 方法會將 MIDI 訊息的資料流程下載到合成器。
PlayVoice

PlayVoice 不受支援,未來可能會變更或無法使用。
[重新整理]

不支援重新整理,未來可能會變更或無法使用。
RefTimeToSample

RefTimeToSample 方法會將參考時間轉換為取樣時間。
RemoveAuxiliaryInput

從 APO 移除輔助輸入。
轉譯

轉譯方法是由合成接收器呼叫,以轉譯為音訊資料流程中的緩衝區。
重設

Reset 方法會將 APO 重設為其原始狀態。 這個方法不會在附加至 APO 輸入或輸出的連線物件中造成任何變更。
SampleToRefTime

SampleToRefTime 方法會將範例時間轉換為參考時間。
SetAudioDeviceModulesManager

由系統呼叫,將 IAudioDeviceModulesManager 的實例傳遞至音訊處理物件, (API) 實作 IAudioDeviceModulesClient 介面。
SetAudioSystemEffectState

由系統效果音訊處理物件實作 (sAPO) 音訊效果,以允許呼叫端設定效果的狀態。
SetChannelPriority

SetChannelPriority 方法會設定 MIDI 通道的優先順序。
SetDirectSound

SetDirectSound 方法會將合成器接收與現有的 DirectSound 物件和 DirectSound 緩衝區連接。
SetMasterClock

SetMasterClock 方法會提供合成器與主要時間來源,合成器需要將其本身與 DirectMusic 的其餘部分同步處理。
SetMasterClock

SetMasterClock 方法會提供具有主要時間來源的 synth 接收,這是與 DirectMusic 其餘部分同步處理的必要專案。
SetNumChannelGroups

SetNumChannelGroups 方法會指示合成器將其通道群組數目設定為新的值。
SetSynthSink

SetSynthSink 方法會建立 synth 與波接收的連接。
SetValue

這個方法會設定屬性值,或取代或移除現有的值。
StopVoice

StopVoice 不受支援,未來可能會變更或無法使用。
卸載

Unload 方法會卸載 DLS 資源, (MIDI 檢測) 先前透過呼叫 IDirectMusicSynth::D ownload 下載的 MIDI 檢測或表達資料。
UnlockForProcess

UnlockForProcess 方法會釋放 LockForProcess 方法對 APO 所加加的鎖定。

介面

 
IApoAcousticEchoCancellation

此介面是由 AEC) 案例實作,以啟用聲場回音取消 (。
IApoAuxiliaryInputConfiguration

提供 ADO 可以實作的方法,讓音訊引擎可以新增和移除輔助輸入資料流程。
IApoAuxiliaryInputRT

用來驅動 APO 輔助輸入的即時安全介面。
IAudioDeviceModulesClient

音訊處理物件 (API) 實作此介面,以取得 IAudioDeviceModulesManager 實例的參考。
IAudioMediaType

IAudioMediaType 介面會公開方法,讓 sAPO 取得用來與音訊引擎交涉以取得適當音訊資料格式的資訊。
IAudioProcessingObject

系統效果音訊處理物件 (sAPOs) 通常用於或從即時進程執行緒呼叫。
IAudioProcessingObjectConfiguration

IAudioProcessingObjectConfiguration 介面是用來設定 APO。 此介面會使用其方法來鎖定和解除鎖定 APO 進行處理。
IAudioProcessingObjectLoggingService

表示 ADO 的記錄服務。
IAudioProcessingObjectNotifications

由用戶端實作以註冊和接收 APO 端點和系統效果通知的常見音訊相關通知。
IAudioProcessingObjectRT

這個介面可以即時模式運作,而且其方法可以呼叫形成即時處理執行緒。
IAudioProcessingObjectRTQueueService

代表 ADO 的即時工作佇列服務。
IAudioSystemEffects

IAudioSystemEffects 介面會使用繼承自 IUnknown 的基本方法,而且必須實作 Initialize 方法。
IAudioSystemEffects2

IAudioSystemEffects2 介面引進了 Windows 8.1,以擷取指定模式中處理物件的相關資訊。
IAudioSystemEffects3

由需要將 APOInitSystemEffects3 結構傳遞至 IAudioProcessingObject::Initialize 方法的用戶端實作。
IAudioSystemEffectsCustomFormats

Windows Vista 和更新版本的 Windows 支援 IAudioSystemEffectsCustomFormats 介面。
IDirectMusicSynth

DirectMusic 會使用 IDirectMusicSynth 介面來與使用者模式合成器通訊。
IDirectMusicSynth8

IDirectMusicSynth8is 不受支援,未來可能會改變或無法使用。
IDirectMusicSynthSink

IDirectMusicSynthSink 介面現在已過時,而且只有 DirectX 8 之前的 DirectMusic 版本才支援。
IPropertyStore

這個介面會公開用來列舉及操作屬性值的方法。

結構

 
APO_NOTIFICATION

表示變更 APO 端點或系統效果的通知。
APO_NOTIFICATION_DESCRIPTOR

指定要求的 APO 通知。
APO_REG_PROPERTIES

APO_REG_PROPERTIES 結構是由 IAudioProcessingObject::GetRegistrationProperties 用來傳回音頻處理物件的註冊屬性, (APO) 。
APOInitBaseStruct

APOInitBaseStruct 結構是必須在 IAudioProcessingObject::Initialize 中其他初始化資料之前的基本初始化標頭。
APOInitSystemEffects

APOInitSystemEffects 結構會傳遞至系統效果 APO 以進行初始化。
APOInitSystemEffects2

APOInitSystemEffects2 結構是透過 Windows 8.1 引進的,可讓您將額外的初始化內容提供給音訊處理物件, (APO) 進行初始化。
APOInitSystemEffects3

提供 APO 初始化參數,擴充 APOInitSystemEffects2 以新增指定服務提供者進行記錄的功能。
AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR

指定端點屬性變更 APO 通知。
AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION

表示屬性變更 APO 通知。
AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR

指定端點磁片區 APO 通知。
AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION

表示音訊端點音量變更 APO 通知。
AUDIO_SYSTEMEFFECT

表示系統效果音訊處理物件 (sAPO) 音訊效果。
AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION

表示系統音訊效果 APO 通知。
DMUS_VOICE_STATE

不支援DMUS_VOICE_STATE,未來可能會改變或無法使用。
KSP_PINMODE

KSP_PINMODE 結構會指定針腳處理站的 pin 屬性和支援的音訊處理模式。
MDEVICECAPSEX

MDEVICECAPSEX 結構包含隨插即用 (PnP) 設備磁碟機的裝置功能資訊。
MIDIOPENDESC

MIDIOPENDESC 結構是用戶端填滿的結構,可提供如何開啟 MIDI 裝置的相關資訊。
UNCOMPRESSEDAUDIOFORMAT

UNCOMPRESSEDAUDIOFORMAT 結構會指定未壓縮音訊資料格式的畫面播放速率、通道遮罩和其他屬性。
波擷取

WAVEATEX 結構會指定波浪音訊資料流程的資料格式。