音訊裝置 DDI 參考
音訊裝置 DDI 參考技術的概觀。
若要開發音訊裝置 DDI 參考,您需要下列標頭:
- audiomediatype.h
- audioenginebaseapo.h
- audioengineextensionapo.h
- baseaudioprocessingobject.h
- dmusics.h
- msapofxproxy.h
如需這項技術的程式設計指引,請參閱:
列舉
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 結構會指定波浪音訊資料流程的資料格式。 |