Kernaudioschnittstellen
Diese Programmierreferenz für das Core Audio SDK umfasst die folgenden Schnittstellen:
MMDevice-API
Die Windows Multimedia Device -API (MMDevice) ermöglicht Audioclients, Audioendpunktgeräte zu ermitteln,deren 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 Auflistung von Audiogeräten dar. |
| IMMDeviceEnumerator | Stellt Methoden zum Aufzählen von Audiogeräten zur Verfügung. |
| IMMEndpoint | Stellt ein Audioendpunktgerät dar. |
| IMMNotificationClient | Stellt Benachrichtigungen zum Hinzu- oder Entfernen eines Audioendpunktgeräts, zum Ändern des Zustands oder der Eigenschaften eines Geräts oder zu einer Änderung der einem Gerät zugewiesenen Standardrolle zur Benachrichtigung. |
WASAPI
Mit Windows AUDIO Session API (WASAPI) können Clientanwendungen den Fluss von Audiodaten zwischen der Anwendung und einem Audioendpunktgerät verwalten. Die 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, bei dem eine WASAPI-Schnittstelle aktiviert wird, 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 Audiostreams zwischen einer Audioanwendung und der Audio-Engine oder dem Hardwarepuffer eines Audioendpunktgeräts. |
| IAudioClock | Ermöglicht es einem Client, die Datenrate eines Streams und die aktuelle Position im Stream zu überwachen. |
| IAudioClock2 |
Ermöglicht einem Client, die aktuelle Geräteposition zu erhalten. |
| IAudioClockAdjustment |
Ermöglicht einem Client das Festlegen der Abtastrate eines Streams. |
| IAudioRenderClient | Ermöglicht einem Client das Schreiben von Ausgabedaten in einen Renderingendpunktpuffer. |
| IAudioSessionControl | Ermöglicht einem Client, die Steuerungsparameter für eine Audiositzung zu konfigurieren und Ereignisse in der Sitzung zu überwachen. |
| IAudioSessionControl2 |
Ermöglicht einem Client das Erhalten von Informationen über die Audiositzung. |
| IAudioSessionManager | Ermöglicht einem Client den Zugriff auf die Sitzungssteuerelemente und Volumesteuerelemente für prozessübergreifende und prozessspezifische Audiositzungen. |
| IAudioSessionManager2 |
Verwaltet alle Untermischungen, einschließlich Enumeration und Benachrichtigung über Untermischungen. Es bietet auch Unterstützung für das Senden von Benachrichtigungen. |
| IAudioSessionEnumerator |
Ermöglicht einem Client das Aufzählen von Audiositzungen. |
| IAudioStreamVolume | Ermöglicht es einem Client, die Lautstärkeebenen für alle Kanäle in einem Audiostream zu steuern und zu überwachen. |
| IChannelAudioVolume | Ermöglicht es einem Client, die Lautstärkeebenen für alle Kanäle in der Audiositzung zu steuern, zu der der Stream gehört. |
| ISimpleAudioVolume | Ermöglicht es einem Client, die Master-Volumeebene einer Audiositzung zu steuern. |
| IAudioSessionEvents | Stellt Benachrichtigungen zu sitzungsbezogenen Ereignissen wie Änderungen auf Volumeebene, Anzeigename und Sitzungszustand zur Verfügung. |
| IAudioSessionNotification |
Sendet Benachrichtigungen, wenn Sitzungsänderungen auftreten. |
| IAudioVolumeDuckNotification |
Sendet Benachrichtigungen über ausstehende Systemänderungen. |
DeviceTopology-API
Die DeviceTopology-API bietet Clientanwendungen die Möglichkeit, die funktionalen Hardwaretopologien von Audiorendering- und Erfassungsgerä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 Hardware automatic gain control (AGC). |
| IAudioBass | Ermöglicht den Zugriff auf ein Hardwaresteuersystem auf Hardwareebene. |
| IAudioChannelConfig | Ermöglicht den Zugriff auf ein Hardwarekanalkonfigurations-Steuerelement. |
| IAudioInputSelector | Ermöglicht den Zugriff auf ein Hardware-Multiplexer-Steuerelement (Eingabeselektor). |
| IAudioGuidedness | Ermöglicht den Zugriff auf ein "Lautheit"-Kompensationssteuer steuerelement. |
| IAudioMidrange | Ermöglicht den Zugriff auf ein Hardware-Midrange-Level-Steuerelement. |
| IAudioMute | Ermöglicht den Zugriff auf ein Hardwaremute-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 eine Hardwaresteuerung auf Trebleebene. |
| IAudioVolumeLevel | Ermöglicht den Zugriff auf eine Hardware-Volumesteuerung. |
| IConnector | Stellt einen Verbindungspunkt zwischen Komponenten dar. |
| IControlInterface | Stellt eine Steuerelementschnittstelle auf einem Teil (Untereinheit oder Connector) dar. |
| IDeviceSpecificProperty | Stellt eine gerätespezifische Eigenschaft eines Connectors oder einer Untereinheit dar. |
| IDeviceTopology | Ermöglicht den Zugriff auf die Topologie eines Audiogeräts. |
| IKsFormatSupport | Stellt Informationen zu den Audiodatenformaten zur Verfügung, 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 Buchsen oder internen Connectors, 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 komfortablen Zugriff auf die KSPROPERTY _ JACK _ DESCRIPTION2-Eigenschaft eines Connectors auf ein Endpunktgerät. |
| IKsJackSinkInformation |
Stellt Informationen zur Senke der Buchse zur Verfügung, 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 Untereinheit-Steuerelementschnittstelle dar, die kanalspezifische Steuerung über die Lautstärke in Dezibel eines Audiostreams oder eines Frequenzbands in einem Audiostream ermöglicht. |
| 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 zum Ändern des Status eines Teils (Connector oder Untereinheit) zur |
EndpointVolume-API
Mit der EndpointVolume-API können spezialisierte Clients die Lautstärkeebenen von Audioendpunktgeräten steuern und ü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 Volumesteuerelemente für den Audiodatenstrom zu oder von einem Audioendpunktgerät dar. |
| IAudioEndpointVolumeEx |
Stellt Volumesteuerelemente für den Audiostream an einen oder von einem Geräteendpunkt zur bzw. von diesem zur Seite. |
| IAudioMeterInformation | Stellt eine Spitzenmessung für den Audiodatenstrom zu oder von einem Audioendpunktgerät dar. |
| IAudioEndpointVolumeCallback | Stellt Benachrichtigungen zur Auswahl, wenn sich die Lautstärke oder der Veränderungszustand eines Audioendpunktgeräts ändert. |