共用方式為


核心音訊介面

Core Audio SDK 的程式設計參考包含下列介面:

MMDevice API

Windows 多媒體裝置 (MMDevice) API 可讓音訊用戶端探索 音訊端點裝置、判斷其功能,以及建立這些裝置的驅動程序實例。頭檔 Mmdeviceapi.h 定義 MMDevice API 中的介面。 如需詳細資訊,請參閱 關於MMDevice API

下表列出 Windows Vista 核心音訊 SDK 提供的 MMDevice 介面。

介面 描述
IMMDevice 表示音訊裝置。
IMMDeviceCollection 表示音訊裝置的集合。
IMMDeviceEnumerator 提供列舉音頻裝置的方法。
IMMEndpoint 表示音訊端點裝置。
IMMNotificationClient 當新增或移除音訊端點裝置、裝置的狀態或屬性變更,或指派給裝置的預設角色發生變更時,提供通知。

WASAPI

Windows 音訊會話 API (WASAPI) 可讓用戶端應用程式管理應用程式與 音訊端點裝置之間的音訊數據流程。 頭檔 Audioclient.h 和 Audiopolicy.h 會定義 WASAPI 介面。 如需詳細資訊,請參閱 關於WASAPI

下表列出適用於 Windows Vista 和更新版本的 Core Audio SDK 提供的 WASAPI 介面。

介面 描述
IActivateAudioInterfaceAsyncOperation 表示啟動 WASAPI 介面的異步操作,並提供方法來擷取啟用的結果。
從 Windows 8 開始套用。
IActivateAudioInterfaceCompletionHandler 提供回呼,指出 WASAPI 介面的啟用已完成。
從 Windows 8 開始套用。
IAudioCaptureClient 可讓用戶端從擷取端點緩衝區讀取輸入數據。
IAudioClient 可讓用戶端在音訊應用程式與音訊引擎或音訊端點裝置的硬體緩衝區之間建立和初始化音訊數據流。
IAudioClock 可讓客戶端監視數據流的數據速率和數據流中目前的位置。
IAudioClock2
可讓用戶端取得目前的裝置位置。
IAudioClockAdjustment
可讓客戶端設定數據流的取樣率。
IAudioRenderClient 可讓客戶端將輸出數據寫入轉譯端點緩衝區。
IAudioSessionControl 可讓客戶端設定音訊會話的控制參數,以及監視會話中的事件。
IAudioSessionControl2
可讓用戶端取得音訊會話的相關信息。
IAudioSessionManager 可讓用戶端存取跨進程和進程特定音訊會話的會話控件和音量控件。
IAudioSessionManager2
管理所有副混音,包括子混音的列舉和通知。 它也支援躲避通知。
IAudioSessionEnumerator
可讓用戶端列舉音訊會話。
IAudioStreamVolume 可讓用戶端控制及監視音訊數據流中所有通道的音量層級。
IChannelAudioVolume 可讓用戶端控制數據流所屬音訊會話中所有通道的音量層級。
ISimpleAudioVolume 可讓用戶端控制音訊會話的主要音量層級。
IAudioSessionEvents 提供會話相關事件的通知,例如磁碟區層級、顯示名稱和會話狀態的變更。
IAudioSessionNotification
會話變更發生時傳送通知。
IAudioVolumeDuckNotification
傳送暫止系統躲避變更的相關通知。

DeviceTopology API

DeviceTopology API 可讓用戶端應用程式周遊音頻轉譯和擷取裝置的功能硬體拓撲。 頭檔 Devicetopology.h 定義 DeviceTopology API 中的介面。 如需詳細資訊,請參閱 裝置拓撲DeviceTopology API

下表列出適用於 Windows Vista 和更新版本的 Core Audio SDK 提供的 DeviceTopology 介面。

介面 描述
IAudioAutoGainControl 提供硬體自動增益控制 (AGC) 的存取權。
IAudioBass 提供硬體低音層級控件的存取權。
IAudioChannelConfig 提供硬體通道元件的存取權。
IAudioInputSelector 提供硬體多任務器控件的存取權(輸入選取器)。
IAudioLoudness 提供「響度」補償控件的存取權。
IAudioMidrange 提供硬體中層控件的存取權。
IAudioMute 提供硬體靜音控件的存取權。
IAudioOutputSelector 提供硬體解譯器控件的存取權(輸出選取器)。
IAudioPeakMeter 提供硬體尖峰計量控件的存取權。
IAudioTreble 提供硬體高階控件的存取權。
IAudioVolumeLevel 提供硬體磁碟區控件的存取權。
I 連線 or 表示元件之間的連接點。
IControlInterface 表示元件上的控制項介面(子單位或連接器)。
IDeviceSpecificProperty 表示連接器或子單位的裝置特定屬性。
IDeviceTopology 提供音訊裝置拓撲的存取權。
IKsFormatSupport 提供音訊裝置與系統記憶體之間軟體設定 I/O 連線(通常是 DMA 通道)所支援的音訊數據格式相關信息。
IKsJackDescription 提供插孔或內部連接器的相關信息,這些連接器可在音訊適配卡上的裝置與外部或內部端點裝置之間提供實體連線(例如麥克風或 CD 播放器)。
IKsJackDescription2
提供對端點裝置之連接器KSPROPERTY_JACK_DESCRIPTION2屬性的便利存取
IKsJackSinkInformation
如果硬體支援插孔,請提供插孔接收的相關信息。
IPart 表示裝置拓撲的元件(連接器或子單位)。
IPartsList 代表元件清單(連接器和子單位)。
IPerChannelDbLevel 表示泛型子單位控件介面,該介面會針對音訊數據流中的音訊數據流或音訊串流中的頻率頻帶,提供音量層級的個別通道控制。
ISubunit 表示位於用戶端與音訊端點裝置之間數據路徑的硬體子單位(例如音量層級控件)。
IControlChangeNotify 當元件的狀態(連接器或子單位)變更時,提供通知。

EndpointVolume API

EndpointVolume API 可讓特製化用戶端控制及監視音訊端點裝置音量層級。 頭檔 Endpointvolume.h 會定義 EndpointVolume API 中的介面。 如需詳細資訊,請參閱 EndpointVolume API

下表列出適用於 Windows Vista 的核心音訊 SDK 提供的 EndpointVolume 介面。

介面 說明
IAudioEndpointVolume 代表音訊端點裝置或從音訊端點裝置的音訊數據流上的音量控件。
IAudioEndpointVolumeEx
提供音訊串流對裝置端點或從裝置端點進行音量控制。
IAudioMeterInformation 表示音訊串流對音訊端點裝置或從音訊端點裝置的尖峰計量。
IAudioEndpointVolumeCallback 當音訊端點裝置的音量層級或靜音狀態變更時,提供通知。

程式設計參考