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. |