Kernaudioschnittstellen
Diese Programmierreferenz für das Core Audio SDK enthält die folgenden Schnittstellen:
MMDevice-API
Mit der WINDOWS Multimedia Device (MMDevice)-API können Audioclients Audioendpunktgeräteermitteln, ihre Funktionen bestimmen und Treiberinstanzen für diese Geräte 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 Auflistung von Audiogeräten dar. |
IMMDeviceEnumerator- | Stellt Methoden zum Aufzählen 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 eine Änderung in der Standardrolle vorhanden ist, die einem Gerät zugewiesen ist. |
WASAPI
Mit der Windows Audio Session API (WASAPI) können Clientanwendungen den Fluss von Audiodaten zwischen der Anwendung und einem Audioendpunktgerätverwalten. Headerdateien "Audioclient.h" und "Audiopolicy.h" definieren die WASAPI-Schnittstellen. Weitere Informationen finden Sie unter About 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 eine Methode zum Abrufen der Ergebnisse der Aktivierung bereitstellt. 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 es einem Client, einen Audiodatenstrom zwischen einer Audioanwendung und dem Audiomodul oder dem Hardwarepuffer eines Audioendpunktgeräts zu erstellen und zu initialisieren. |
IAudioClock- | Ermöglicht es einem Client, die Datenrate eines Datenstroms und die aktuelle Position im Datenstrom zu überwachen. |
IAudioClock2- |
Ermöglicht einem Client das Abrufen der aktuellen Geräteposition. |
IAudioClockAdjustment- |
Ermöglicht einem Client das Festlegen der Samplerate eines Datenstroms. |
IAudioRenderClient- | Ermöglicht einem Client das Schreiben von Ausgabedaten in einen Renderendpunktpuffer. |
IAudioSessionControl- | Ermöglicht es einem Client, die Steuerelementparameter 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 Sitzungssteuerelemente und Lautstärkesteuerelemente für prozessübergreifende und prozessspezifische Audiositzungen. |
IAudioSessionManager2 |
Verwaltet alle Submixe, einschließlich Aufzählung und Benachrichtigung über Submixe. Es bietet auch Unterstützung für Entenbenachrichtigungen. |
IAudioSessionEnumerator |
Ermöglicht einem Client das Aufzählen von Audiositzungen. |
IAudioStreamVolume- | Ermöglicht es einem Client, die Lautstärkestufen für alle Kanäle in einem Audiostream zu steuern und zu überwachen. |
IChannelAudioVolume- | Ermöglicht einem Client die Steuerung der Lautstärkestufen für alle Kanäle in der Audiositzung, zu der der Datenstrom gehört. |
ISimpleAudioVolume | Ermöglicht einem Client die Steuerung der Masterlautstärke einer Audiositzung. |
IAudioSessionEvents | Stellt Benachrichtigungen über sitzungsbezogene Ereignisse bereit, z. B. Änderungen auf Volumeebene, Anzeigename und Sitzungsstatus. |
IAudioSessionNotification- |
Sendet Benachrichtigungen, wenn Sitzungsänderungen auftreten. |
IAudioVolumeDuckNotification |
Sendet Benachrichtigungen über ausstehende System-Entenänderungen. |
DeviceTopology-API
Die DeviceTopology-API bietet Clientanwendungen die Möglichkeit, die funktionalen Hardwaretopologien von Audiorendering- und Aufnahmegerä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 | Bietet Zugriff auf eine Hardware-automatische Verstärkungskontrolle (AGC). |
IAudioBass- | Bietet Zugriff auf ein Hardware-Bass-Level-Steuerelement. |
IAudioChannelConfig | Bietet Zugriff auf ein Hardwarekanalkonfigurationssteuerelement. |
IAudioInputSelector- | Bietet Zugriff auf ein Hardware-Multiplexer-Steuerelement (Eingabeauswahl). |
IAudioLoudness | Ermöglicht den Zugriff auf eine "Lautheit"-Ausgleichssteuerung. |
IAudioMidrange | Bietet Zugriff auf ein Hardware-Midrange-Level-Steuerelement. |
IAudioMute- | Bietet Zugriff auf ein Hardware-Stummschaltungssteuerelement. |
IAudioOutputSelector- | Bietet Zugriff auf ein Hardwaredemultiplexer-Steuerelement (Ausgabeauswahl). |
IAudioPeakMeter | Bietet Zugriff auf ein Hardware-Spitzenzähler-Steuerelement. |
IAudioTreble- | Ermöglicht den Zugriff auf ein Hardware-Steuerelement auf dreifacher Ebene. |
IAudioVolumeLevel- | Bietet Zugriff auf eine Hardwarelautstärkesteuerung. |
IConnector- | Stellt einen Verbindungspunkt zwischen Komponenten dar. |
IControlInterface- | Stellt eine Steuerelementschnittstelle auf einem Teil (Untereinheit oder Verbinder) dar. |
IDeviceSpecificProperty | Stellt eine gerätespezifische Eigenschaft eines Verbinders 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 | Enthält Informationen zu den Anschlüssen oder internen Anschlüssen, die eine physische Verbindung zwischen einem Gerät auf einem Audioadapter und einem externen oder internen Endpunktgerät (z. B. einem Mikrofon oder CD-Player) bereitstellen. |
IKsJackDescription2 |
Bietet bequemen Zugriff auf die KSPROPERTY_JACK_DESCRIPTION2 Eigenschaft eines Connectors auf ein Endpunktgerät. |
IKsJackSinkInformation |
Stellt Informationen zur Buchse Spüle bereit, wenn die Buchse von der Hardware unterstützt wird. |
IPart- | Stellt einen Teil (Verbinder oder Untereinheit) einer Gerätetopologie dar. |
IPartsList- | Stellt eine Liste von Teilen (Verbinder und Untereinheiten) dar. |
IPerChannelDbLevel | Stellt eine generische Untereinheitssteuerungsschnittstelle dar, die die Steuerung pro Kanal über die Lautstärke in Dezibeln eines Audiodatenstroms oder eines Frequenzbands in einem Audiodatenstrom bereitstellt. |
ISubunit | Stellt eine Hardwareuntereinheit (z. B. ein Steuerelement auf Volumeebene) dar, die sich im Datenpfad zwischen einem Client und einem Audioendpunktgerät befindet. |
IControlChangeNotify | Stellt Benachrichtigungen bereit, wenn sich der Status eines Teils (Connector oder Einer Untereinheit) ändert. |
EndpointVolume-API
Die EndpointVolume-API ermöglicht es spezialisierten Clients, die Lautstärke von Audioendpunktgerätenzu steuern und zu überwachen. 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ärkesteuerelemente im Audiostream an oder von einem Audioendpunktgerät dar. |
IAudioEndpointVolumeEx |
Stellt Lautstärkesteuerelemente für den Audiodatenstrom an oder von einem Geräteendpunkt bereit. |
IAudioMeterInformation | Stellt einen Spitzenzähler im Audiodatenstrom zu oder von einem Audioendpunktgerät dar. |
IAudioEndpointVolumeCallback- | Stellt Benachrichtigungen bereit, wenn sich der Lautstärke- oder Stummschaltungszustand eines Audioendpunktgeräts ändert. |