Kern-Audioschnittstellen

Diese Programmierreferenz für das Core Audio SDK umfasst die folgenden Schnittstellen:

MMDevice-API

Die MMDevice-API (Windows Multimedia Device) ermöglicht Es Audioclients, Audioendpunkte zu ermitteln, ihre Funktionen zu bestimmen und Treiberinstanzen für diese Geräte zu erstellen. Die Headerdatei Mmdeviceapi.h definiert die Schnittstellen in der MMDevice-API. Weitere Informationen finden Sie unter Informationen zur MMDevice-API.

In der folgenden Tabelle sind die MMDevice-Schnittstellen aufgeführt, die mit dem Core Audio SDK für Windows Vista verfügbar sind.

Schnittstelle BESCHREIBUNG
IMMDevice Stellt ein Audiogerät dar.
IMMDeviceCollection Stellt eine Sammlung von Audiogeräten dar.
IMMDeviceEnumerator Stellt Methoden zum Auflisten von Audiogeräten bereit.
IMMEndpoint Stellt ein Audioendpunktgerät dar.
IMMNotificationClient Stellt Benachrichtigungen bereit, wenn ein Audioendpunktgerät hinzugefügt oder entfernt wird, wenn sich der Zustand oder die Eigenschaften eines Geräts ändern oder wenn die Standardrolle geändert wird, die einem Gerät zugewiesen ist.

WASAPI

Mit der Windows-Audiositzungs-API (WASAPI) können Clientanwendungen den Fluss von Audiodaten zwischen der Anwendung und einem Audioendpunktgerät verwalten. Headerdateien Audioclient.h und Audiopolicy.h definieren die WASAPI-Schnittstellen. Weitere Informationen finden Sie unter Informationen zu WASAPI.

In der folgenden Tabelle sind die WASAPI-Schnittstellen aufgeführt, die mit dem Core Audio SDK für Windows Vista und höher verfügbar sind.

Schnittstelle BESCHREIBUNG
IActivateAudioInterfaceAsyncOperation Stellt einen asynchronen Vorgang dar, der eine WASAPI-Schnittstelle aktiviert, und stellt eine Methode zum Abrufen der Aktivierungsergebnisse bereit.
Gilt ab Windows 8.
IActivateAudioInterfaceCompletionHandler Stellt einen Rückruf bereit, um anzugeben, dass die Aktivierung einer WASAPI-Schnittstelle abgeschlossen ist.
Gilt ab Windows 8.
IAudioCaptureClient Ermöglicht einem Client das Lesen von Eingabedaten aus einem Erfassungsendpunktpuffer.
IAudioClient Ermöglicht einem Client das Erstellen und Initialisieren eines Audiodatenstroms zwischen einer Audioanwendung und der Audio-Engine oder dem Hardwarepuffer eines Audioendpunktgeräts.
IAudioClock Ermöglicht es einem Client, die Datenrate eines Datenstroms und die aktuelle Position im Stream zu überwachen.
IAudioClock2
Ermöglicht einem Client das Abrufen der aktuellen Geräteposition.
IAudioClockAdjustment
Ermöglicht es einem Client, die Abtastrate eines Datenstroms festzulegen.
IAudioRenderClient Ermöglicht einem Client das Schreiben von Ausgabedaten in einen Renderingendpunktpuffer.
IAudioSessionControl Ermöglicht es einem Client, die Steuerungsparameter für eine Audiositzung zu konfigurieren und Ereignisse in der Sitzung zu überwachen.
IAudioSessionControl2
Ermöglicht einem Client das Abrufen von Informationen zur Audiositzung.
IAudioSessionManager Ermöglicht einem Client den Zugriff auf die Sitzungs- und Volumesteuerelemente für prozessübergreifende und prozessspezifische Audiositzungen.
IAudioSessionManager2
Verwaltet alle Submixe, einschließlich Enumeration und Benachrichtigung von Teilmischungen. Es bietet auch Unterstützung für Ducking-Benachrichtigungen.
IAudioSessionEnumerator
Ermöglicht einem Client das Aufzählen von Audiositzungen.
IAudioStreamVolume Ermöglicht es einem Client, die Lautstärkepegel für alle Kanäle in einem Audiostream zu steuern und zu überwachen.
IChannelAudioVolume Ermöglicht einem Client die Steuerung der Lautstärkepegel für alle Kanäle in der Audiositzung, zu der der Stream gehört.
ISimpleAudioVolume Ermöglicht es einem Client, die master Lautstärkepegel einer Audiositzung zu steuern.
IAudioSessionEvents Stellt Benachrichtigungen zu sitzungsbezogenen Ereignissen bereit, z. B. Änderungen der Volumeebene, des Anzeigenamens und des Sitzungszustands.
IAudioSessionNotification
Sendet Benachrichtigungen, wenn Sitzungsänderungen auftreten.
IAudioVolumeDuckNotification
Sendet Benachrichtigungen über ausstehende System-Ducking-Änderungen.

DeviceTopology-API

Die DeviceTopology-API bietet Clientanwendungen die Möglichkeit, die funktionalen Hardwaretopologien von Audiorendering- und Aufzeichnungsgeräten zu durchlaufen. Die Headerdatei Devicetopology.h definiert die Schnittstellen in der DeviceTopology-API. Weitere Informationen finden Sie unter Gerätetopologien und DeviceTopology-API.

In der folgenden Tabelle sind die DeviceTopology-Schnittstellen aufgeführt, die mit dem Core Audio SDK für Windows Vista und höher verfügbar sind.

Schnittstelle BESCHREIBUNG
IAudioAutoGainControl Ermöglicht den Zugriff auf eine automatische Verstärkungssteuerung (Hardware Automatic Gain Control, AGC).
IAudioBass Ermöglicht den Zugriff auf eine Hardwaresteuerung auf Bassebene.
IAudioChannelConfig Ermöglicht den Zugriff auf ein Hardwarekanalkonfigurationssteuerelement.
IAudioInputSelector Ermöglicht den Zugriff auf ein Hardware-Multiplexer-Steuerelement (Eingabeauswahl).
IAudioLoudness Ermöglicht den Zugriff auf ein "Lautstärke"-Kompensationssteuerelement.
IAudioMidrange Ermöglicht den Zugriff auf ein Hardware-Midrange-Level-Steuerelement.
IAudioMute Ermöglicht den Zugriff auf ein Hardware stummschaltbares Steuerelement.
IAudioOutputSelector Ermöglicht den Zugriff auf ein Hardwaredemultiplexer-Steuerelement (Ausgabeauswahl).
IAudioPeakMeter Ermöglicht den Zugriff auf ein Hardware-Peak-Meter-Steuerelement.
IAudioTreble Ermöglicht den Zugriff auf ein Hardwaresteuerelement auf Dreifachebene.
IAudioVolumeLevel Ermöglicht den Zugriff auf eine Hardwarevolumesteuerung.
IConnector Stellt einen Verbindungspunkt zwischen Komponenten dar.
IControlInterface Stellt eine Steuerelementschnittstelle für ein Teil (Untereinheit oder Connector) dar.
IDeviceSpecificProperty Stellt eine gerätespezifische Eigenschaft eines Connectors oder einer Untereinheit dar.
IDeviceTopology Bietet Zugriff auf die Topologie eines Audiogeräts.
IKsFormatSupport Stellt Informationen zu den Audiodatenformaten bereit, die von einer softwarekonfigurierten E/A-Verbindung (in der Regel ein DMA-Kanal) zwischen dem Audiogerät und dem Systemspeicher unterstützt werden.
IKsJackDescription Stellt Informationen zu den Buchsen oder internen Anschlüssen bereit, die eine physische Verbindung zwischen einem Gerät an einem Audioadapter und einem externen oder internen Endpunktgerät (z. B. mikrofon oder CD-Player) bereitstellen.
IKsJackDescription2
Bietet bequemen Zugriff auf die KSPROPERTY_JACK_DESCRIPTION2-Eigenschaft eines Connectors für ein Endpunktgerät.
IKsJacksinkInformation
Stellt Informationen zur Senke der Buchse bereit, wenn die Buchse von der Hardware unterstützt wird.
Ipart Stellt einen Teil (Connector oder Untereinheit) einer Gerätetopologie dar.
IPartsList Stellt eine Liste von Teilen (Connectors und Untereinheiten) dar.
IPerChannelDbLevel Stellt eine generische Untereinheitssteuerungsschnittstelle dar, die kanalspezifische Steuerung über den Lautstärkepegel eines Audiodatenstroms oder eines Frequenzbands in einem Audiodatenstrom in Dezibel ermöglicht.
ISubunit Stellt eine Hardwareuntereinheit (z. B. eine Steuerung auf Lautstärkeebene) dar, die sich im Datenpfad zwischen einem Client und einem Audioendpunktgerät befindet.
IControlChangeNotify Stellt Benachrichtigungen bereit, wenn sich die status eines Teils (Connector oder Untereinheit) ändert.

EndpointVolume-API

Die EndpointVolume-API ermöglicht es spezialisierten Clients, die Lautstärken von Audioendpunktgeräten zu steuern und zu überwachen. Die Headerdatei Endpointvolume.h definiert die Schnittstellen in der EndpointVolume-API. Weitere Informationen finden Sie unter EndpointVolume-API .

In der folgenden Tabelle sind die EndpointVolume-Schnittstellen aufgeführt, die mit dem Core Audio SDK für Windows Vista verfügbar sind.

Interface Beschreibung
IAudioEndpointVolume Stellt die Lautstärkeregler für den Audiodatenstrom an oder von einem Audioendpunktgerät dar.
IAudioEndpointVolumeEx
Stellt Lautstärkesteuerungen für den Audiodatenstrom an oder von einem Geräteendpunkt bereit.
IAudioMeterInformation Stellt einen Spitzenzähler für den Audiodatenstrom an oder von einem Audioendpunktgerät dar.
IAudioEndpointVolumeCallback Stellt Benachrichtigungen bereit, wenn sich die Lautstärke oder der Stummschaltungszustand eines Audioendpunktgeräts ändert.

Programmierverzeichnis