音訊裝置 DDI 參考
音訊裝置 DDI 參考技術的概觀。
若要開發音訊裝置 DDI 參考,您需要下列標頭:
- audiomediatype.h
- audioenginebaseapo.h
- audioengineextensionapo.h
- baseaudioprocessingobject.h
- msapofxproxy.h
如需這項技術的程式設計指引,請參閱:
列舉
APO_FLAG APO_FLAG列舉會定義常數,這些常數會由音訊處理物件 (APO) 做為旗標使用。 |
APO_LOG_LEVEL 指定以 IAudioProcessingObjectLoggingService::ApoLog 記錄的 APO 事件層級。 |
APO_NOTIFICATION_TYPE 指定APO_NOTIFICATION的類型。 |
APO_REFERENCE_STREAM_PROPERTIES 指定 IApoAcousticEchoCancellation2::GetDesiredReferenceStreamProperties 回呼方法的回送資料流程屬性。 |
AUDIO_SYSTEMEFFECT_STATE 指定系統效果音訊處理物件的狀態, (sAPO) 音訊效果。 |
DEVICE_ORIENTATION_TYPE 指定類型APO_NOTIFICATION_TYPE_DEVICE_ORIENTATION通知的裝置方向值。 |
KSPROPERTY_AUDIOEFFECTSDISCOVERY KSPROPERTY_AUDIOEFFECTSDISCOVERY列舉會定義常數,該常數是由音訊處理物件清單 (API) 使用。 |
函式
AcceptInput 在其其中一個輔助輸入上提供 APO 的輸入。 |
AddAuxiliaryInput 將輔助輸入新增至 APO,並提供初始化參數。 |
AERT_Allocate AERT_Allocate公用程式函式會配置並鎖定記憶體區段以供音訊處理物件使用。 |
AERT_Free AERT_Free公用程式函式會釋放 (釋放AERT_Allocate函式鎖定的) 記憶體,以供音訊處理物件用來處理音訊資料。 |
ApoLog 記錄 APO 事件。 |
APOProcess APOProcess 方法會使 APO 進行處理傳遞。 |
CalcInputFrames CalcInputFrames 方法會傳回 APO 產生指定輸出畫面格數目所需的輸入畫面數。 |
CalcOutputFrames CalcOutputFrames 方法會傳回 APO 針對指定輸入畫面格數目所需的輸出畫面數。 |
提交 進行變更之後,這個方法會儲存變更。 |
CreateAudioMediaType CreateAudioMediaType 函式會使用呼叫端指定的格式來建立描述音訊格式的媒體類型物件。 |
CreateAudioMediaTypeFromUncompressedAudioFormat CreateAudioMediaTypeFromUncompressedAudioFormat 函式會使用 UNCOMPRESSEDAUDIOFORMAT 結構中提供的資訊來建立描述音訊格式的媒體類型物件。 |
GetApoNotificationRegistrationInfo 由系統呼叫,以允許用戶端註冊以接收 APO 端點和系統效果通知的通知回呼。 |
GetApoNotificationRegistrationInfo2 由系統呼叫,以允許用戶端註冊以接收 APO 端點和系統效果通知的通知回呼。 這個方法會新增參數,可用來判斷目前裝置上執行的 Windows 版本所支援的通知類型。 |
GetAt 從專案的屬性陣列取得屬性索引鍵。 |
GetAudioFormat GetAudioFormat 方法會傳回音頻資料格式的顯示方式X 結構。 |
GetControllableSystemEffectsList 由系統效果音訊處理物件實作 (sAPO) 音訊效果,讓呼叫者取得目前的效果清單。 |
GetCount 這個方法會傳回附加至檔案的屬性數目計數。 |
GetDesiredReferenceStreamProperties 如果相關聯的音訊端點支援回送資料流程,請要求一組屬性。 |
GetEffectsList GetEffectsList 方法可用來擷取目前使用中的音訊處理效果清單,並在清單變更時儲存要發出訊號的事件。 |
GetFormat GetFormat 方法會擷取自訂格式的 IAudioMediaType 標記法。 |
GetFormatCount GetFormatCount 方法會擷取系統效果音訊處理物件所支援的自訂格式數目, (sAPO) 。 |
GetFormatRepresentation GetFormatRepresentation 方法會擷取自訂格式的字串表示,以便顯示在使用者介面上。 |
GetInputChannelCount GetInputChannelCount 會針對此 APO 傳回輸入通道計數, (每個畫面格的樣本數) 。 |
GetLatency GetLatency 方法會傳回此 APO 的延遲。 延遲是周遊 APO 處理階段的框架所花費的時間量。 |
GetPreferredInputFormat 回呼函式,可讓 APO 指定所提供輸出格式的慣用輸入格式。 |
GetPreferredOutputFormat 允許 APO 為提供的輸入格式指定慣用輸出格式的回呼函式。 |
GetRealTimeWorkQueue 取得工作佇列的識別碼,APO 可用來排程需要以即時優先順序執行的工作。 |
GetRegistrationProperties GetRegistrationProperties 會傳回 APO) (音訊處理物件的註冊屬性。 |
GetUncompressedAudioFormat IAudioMediaType::GetUncompressedAudioFormat 會傳回音頻資料格式的相關資訊。 |
GetValue 這個方法會擷取特定屬性的資料。 |
HandleNotification 由系統呼叫,以通知用戶端對 APO 端點或系統效果所做的變更。 |
初始 化 Initialize 方法會初始化 APO,並支援可變長度的資料。 |
IsCompressedFormat IsCompressedFormat 方法會判斷音訊資料格式是否為壓縮格式。 |
IsEqual IsEqual 方法會比較兩種媒體類型,並判斷它們是否相同。 |
IsInputFormatSupported 確認 APO 支援特定的輔助輸入格式。 |
IsInputFormatSupported 此方法會與 Windows Vista 音訊引擎交涉,以建立音訊資料流程的資料格式。 |
IsOutputFormatSupported IsOutputFormatSupported 方法可用來確認支援特定的輸出格式。 |
LockForProcess LockForProcess 方法可用來確認 APO 已鎖定並準備好處理資料。 |
RemoveAuxiliaryInput 從 APO 移除輔助輸入。 |
重設 Reset 方法會將 APO 重設為其原始狀態。 此方法不會對附加至 APO 輸入或輸出的連線物件造成任何變更。 |
SetAudioDeviceModulesManager 由系統呼叫,將 IAudioDeviceModulesManager 實例傳遞至音訊處理物件 (API) 實作 IAudioDeviceModulesClient 介面。 |
SetAudioSystemEffectState 由系統效果音訊處理物件實作 (sAPO) 音訊效果,以允許呼叫端設定效果的狀態。 |
SetValue 這個方法會設定屬性值,或取代或移除現有的值。 |
UnlockForProcess UnlockForProcess 方法會釋放 LockForProcess 方法對 APO 所加加的鎖定。 |
介面
IApoAcousticEchoCancellation 此介面是由 AEC 實作,以啟用聲場回應取消 (AEC) 案例。 |
IApoAcousticEchoCancellation2 擴充 IAcousticEchoCancellation,以允許 API 指定參考資料流所需的屬性。 |
IApoAuxiliaryInputConfiguration 提供 API 可以實作的方法,讓音訊引擎可以新增和移除輔助輸入資料流程。 |
IApoAuxiliaryInputRT 用來驅動 APO 輔助輸入的即時安全介面。 |
IAudioDeviceModulesClient 音訊處理物件 (API) 實作這個介面,以取得 IAudioDeviceModulesManager 實例的參考。 |
IAudioMediaType IAudioMediaType 介面會公開方法,讓 sAPO 取得用來與音訊引擎交涉以取得適當音訊資料格式的資訊。 |
IAudioProcessingObject 系統效果音訊處理物件 (sAPOs) 通常用於或從即時進程執行緒呼叫。 |
IAudioProcessingObjectConfiguration IAudioProcessingObjectConfiguration 介面可用來設定 APO。 此介面會使用其方法來鎖定和解除鎖定 APO 以進行處理。 |
IAudioProcessingObjectLoggingService 表示 ADO 的記錄服務。 |
IAudioProcessingObjectNotifications 由用戶端實作,以註冊和接收 APO 端點和系統效果通知的常見音訊相關通知。 |
IAudioProcessingObjectNotifications2 由用戶端實作,以註冊和接收 APO 端點和系統效果通知的常見音訊相關通知。 此介面新增了判斷目前裝置上執行之 Windows 版本上支援的通知類型的能力。 |
IAudioProcessingObjectPreferredFormatSupport 此介面是由 APO 實作,以便指定慣用的輸入或輸出格式。 |
IAudioProcessingObjectRT 這個介面可以即時模式運作,而且其方法可以稱為即時處理執行緒。 |
IAudioProcessingObjectRTQueueService 表示 APO 的即時工作佇列服務。 |
IAudioSystemEffects IAudioSystemEffects 介面會使用繼承自 IUnknown 的基本方法,而且必須實作 Initialize 方法。 |
IAudioSystemEffects2 IAudioSystemEffects2 介面已引進Windows 8.1,以擷取指定模式中處理物件的相關資訊。 |
IAudioSystemEffects3 由需要將 APOInitSystemEffects3 結構傳遞至 IAudioProcessingObject::Initialize 方法的用戶端實作。 |
IAudioSystemEffectsCustomFormats Windows Vista 和更新版本的 Windows 支援 IAudioSystemEffectsCustomFormats 介面。 |
IPropertyStore 這個介面會公開用來列舉及操作屬性值的方法。 |
結構
AcousticEchoCanceller_Reference_Input 包含有關目前聲場 Echo 取消 (AEC) 組態的擴充資訊。 |
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_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2 表示音訊端點音量變更 APO 通知。 這是更新版本的 AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION,可提供磁片區變更事件的其他資訊。 |
AUDIO_ENVIRONMENT_STATE_CHANGE_NOTIFICATION 表示音訊環境變更 APO 通知。 |
AUDIO_MICROPHONE_BOOST_APO_NOTIFICATION_DESCRIPTOR 指定端點麥克風提升 APO 通知。 |
AUDIO_MICROPHONE_BOOST_NOTIFICATION 表示音訊麥克風提升 APO 通知。 |
AUDIO_SYSTEMEFFECT 表示系統效果音訊處理物件 (sAPO) 音訊效果。 |
AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION 表示系統音訊效果 APO 通知。 |
AUDIO_VOLUME_NOTIFICATION_DATA2 表示磁片區變更通知事件的相關資訊。 AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2 結構會使用此結構。 |
KSP_PINMODE KSP_PINMODE 結構會指定針腳處理站的 pin 屬性和支援的音訊處理模式。 |
MDEVICECAPSEX MDEVICECAPSEX 結構包含隨插即用 (PnP) 設備磁碟機的裝置功能資訊。 |
MIDIOPENDESC MIDIOPENDESC 結構是用戶端填滿的結構,可提供如何開啟 MIDI 裝置的相關資訊。 |
UNCOMPRESSEDAUDIOFORMAT UNCOMPRESSEDAUDIOFORMAT 結構會指定未壓縮音訊資料格式的畫面播放速率、通道遮罩和其他屬性。 |
電壓X WAVEATEX 結構會指定波浪音訊資料流程的資料格式。 |