DDI-Referenz zu Audiogeräten

Übersicht über die DDI-Referenztechnologie für Audiogeräte.

Zum Entwickeln der DDI-Referenz für Audiogeräte benötigen Sie die folgenden Header:

Programmieranleitungen für diese Technologie finden Sie unter:

Enumerationen

 
APO_FLAG

Die APO_FLAG-Enumeration definiert Konstanten, die von einem Audioverarbeitungsobjekt (APO) als Flags verwendet werden.
APO_LOG_LEVEL

Gibt die Ebene eines APO-Ereignisses an, das mit IAudioProcessingObjectLoggingService::ApoLog protokolliert wurde.
APO_NOTIFICATION_TYPE

Gibt den Typ einer APO_NOTIFICATION an.
APO_REFERENCE_STREAM_PROPERTIES

Gibt Loopbackstreameigenschaften für die Rückrufmethode IApoAcousticEchoCancellation2::GetDesiredReferenceStreamProperties an.
AUDIO_SYSTEMEFFECT_STATE

Gibt den Status eines SAPO-Audioeffekts (System Effects Audio Processing Object) an.
DEVICE_ORIENTATION_TYPE

Gibt Geräteausrichtungswerte für Benachrichtigungen vom Typ APO_NOTIFICATION_TYPE_DEVICE_ORIENTATION an.
KSPROPERTY_AUDIOEFFECTSDISCOVERY

Die KSPROPERTY_AUDIOEFFECTSDISCOVERY-Enumeration definiert eine Konstante, die von der Liste der Audioverarbeitungsobjekte (ApOs) verwendet wird.

Functions

 
AcceptInput

Stellt eine Eingabe für den APO für einen der hilfsigen Eingaben bereit.
AddAuxiliaryInput

Fügt dem APO eine zusätzliche Eingabe hinzu und stellt Initialisierungsparameter bereit.
AERT_Allocate

Die AERT_Allocate-Hilfsprogrammfunktion weist ein Segment des Arbeitsspeichers für die Verwendung durch Audioverarbeitungsobjekte zu und sperrt es.
AERT_Free

Die AERT_Free-Hilfsprogrammfunktion gibt Arbeitsspeicher frei, der von der AERT_Allocate-Funktion gesperrt wurde, für die Verwendung durch Audioverarbeitungsobjekte zum Verarbeiten von Audiodaten.
ApoLog

Protokolliert ein APO-Ereignis.
APOProcess

Die APOProcess-Methode bewirkt, dass der APO einen Verarbeitungsdurchlauf macht.
CalcInputFrames

Die CalcInputFrames-Methode gibt die Anzahl der Eingabeframes zurück, die ein APO benötigt, um eine bestimmte Anzahl von Ausgabeframes zu generieren.
CalcOutputFrames

Die CalcOutputFrames-Methode gibt die Anzahl der Ausgabeframes zurück, die ein APO für eine bestimmte Anzahl von Eingabeframes benötigt.
Commit

Nachdem eine Änderung vorgenommen wurde, speichert diese Methode die Änderungen.
CreateAudioMediaType

Die CreateAudioMediaType-Funktion verwendet das vom Aufrufer angegebene Format, um ein Medientypobjekt zu erstellen, das das Audioformat beschreibt.
CreateAudioMediaTypeFromUncompressedAudioFormat

Die Funktion CreateAudioMediaTypeFromUncompressedAudioFormat verwendet die in der UNCOMPRESSEDAUDIOFORMAT-Struktur bereitgestellten Informationen, um ein Medientypobjekt zu erstellen, das das Audioformat beschreibt.
GetApoNotificationRegistrationInfo

Wird vom System aufgerufen, um Clients die Registrierung zu ermöglichen, um Benachrichtigungsrückrufe für APO-Endpunkt- und Systemeffektbenachrichtigungen zu erhalten.
GetApoNotificationRegistrationInfo2

Wird vom System aufgerufen, um Clients die Registrierung zu ermöglichen, um Benachrichtigungsrückrufe für APO-Endpunkt- und Systemeffektbenachrichtigungen zu erhalten. Diese Methode fügt einen Parameter hinzu, der verwendet werden kann, um die Benachrichtigungstypen zu bestimmen, die in der Version von Windows unterstützt werden, die auf dem aktuellen Gerät ausgeführt wird.
GetAt

Ruft einen Eigenschaftenschlüssel aus dem Eigenschaftenarray eines Elements ab.
GetAudioFormat

Die GetAudioFormat-Methode gibt die WAVEFORMATEX-Struktur für das Audiodatenformat zurück.
GetControllableSystemEffectsList

Implementiert durch sAPO-Audioeffekte (System Effects Audio Processing Object), damit der Aufrufer die aktuelle Liste der Effekte abrufen kann.
GetCount

Diese Methode gibt eine Anzahl der Eigenschaften zurück, die der Datei angefügt sind.
GetDesiredReferenceStreamProperties

Fordert eine Reihe von Eigenschaften für den Loopbackstream an, wenn sie auf dem zugeordneten Audioendpunkt unterstützt werden.
GetEffectsList

Die GetEffectsList-Methode wird zum Abrufen der Liste der derzeit aktiven Audioverarbeitungseffekte verwendet und speichert ein Ereignis, das signalisiert werden soll, wenn sich die Liste ändert.
Getformat

Die GetFormat-Methode ruft eine IAudioMediaType-Darstellung eines benutzerdefinierten Formats ab.
GetFormatCount

Die GetFormatCount-Methode ruft die Anzahl der benutzerdefinierten Formate ab, die vom Systemeffekt-Audioverarbeitungsobjekt (sAPO) unterstützt werden.
GetFormatRepresentation

Die GetFormatRepresentation-Methode ruft eine Zeichenfolgendarstellung des benutzerdefinierten Formats ab, sodass sie auf einer Benutzeroberfläche angezeigt werden kann.
GetInputChannelCount

GetInputChannelCount gibt die Eingabekanalanzahl (Samples-per-Frame) für diesen APO zurück.
GetLatency

Die GetLatency-Methode gibt die Latenz für diesen APO zurück. Latenz ist die Zeitspanne, die ein Frame benötigt, um den Verarbeitungsdurchlauf eines APO zu durchlaufen.
GetPreferredInputFormat

Rückruffunktion, mit der APOs ein bevorzugtes Eingabeformat für das bereitgestellte Ausgabeformat angeben können.
GetPreferredOutputFormat

Rückruffunktion, mit der APOs ein bevorzugtes Ausgabeformat für das bereitgestellte Eingabeformat angeben können.
GetRealTimeWorkQueue

Ruft die ID einer Arbeitswarteschlange ab, die der APO verwenden kann, um Aufgaben zu planen, die mit einer Echtzeitpriorität ausgeführt werden müssen.
GetRegistrationProperties

GetRegistrationProperties gibt die Registrierungseigenschaften des Audioverarbeitungsobjekts (APO) zurück.
GetUncompressedAudioFormat

IAudioMediaType::GetUncompressedAudioFormat gibt Informationen zum Audiodatenformat zurück.
Getvalue

Diese Methode ruft die Daten für eine bestimmte Eigenschaft ab.
HandleNotification

Wird vom System aufgerufen, um Clients über Änderungen an APO-Endpunkten oder Systemeffekten zu benachrichtigen.
Initialisieren

Die Initialize-Methode initialisiert den APO und unterstützt Daten mit variabler Länge.
IsCompressedFormat

Die IsCompressedFormat-Methode bestimmt, ob das Audiodatenformat ein komprimiertes Format ist.
IsEqual

Die IsEqual-Methode vergleicht zwei Medientypen und bestimmt, ob sie identisch sind.
IsInputFormatSupported

Überprüft, ob ein bestimmtes Hilfseingabeformat vom APO unterstützt wird.
IsInputFormatSupported

Diese Methode verhandelt mit der Windows Vista-Audio-Engine, um ein Datenformat für den Datenstrom von Audiodaten einzurichten.
IsOutputFormatSupported

Die IsOutputFormatSupported-Methode wird verwendet, um zu überprüfen, ob ein bestimmtes Ausgabeformat unterstützt wird.
LockForProcess

Die LockForProcess-Methode wird verwendet, um zu überprüfen, ob der APO gesperrt ist und bereit ist, Daten zu verarbeiten.
RemoveAuxiliaryInput

Entfernt eine Hilfseingabe aus dem APO.
Zurücksetzen

Die Reset-Methode setzt den APO auf den ursprünglichen Zustand zurück. Diese Methode verursacht keine Änderungen an den Verbindungsobjekten, die an die Eingabe oder ausgabe des APO angefügt sind.
SetAudioDeviceModulesManager

Wird vom System aufgerufen, um eine instance von IAudioDeviceModulesManager an Audio Processing Objects (APOs) zu übergeben, die die IAudioDeviceModulesClient-Schnittstelle implementieren.
SetAudioSystemEffectState

Implementiert durch sAPO-Audioeffekte (System Effects Audio Processing Object), damit der Aufrufer den Zustand der Effekte festlegen kann.
SetValue

Diese Methode legt einen Eigenschaftswert fest oder ersetzt oder entfernt einen vorhandenen Wert.
UnlockForProcess

Die UnlockForProcess-Methode gibt die Sperre frei, die dem APO durch die LockForProcess-Methode auferlegt wurde.

Schnittstellen

 
IApoAcousticEchoCancellation

Diese Schnittstelle wird von APOs implementiert, um AEC-Szenarien (Acoustic Echo Cancellation) zu aktivieren.
IApoAcousticEchoCancellation2

Erweitert IAcousticEchoCancellation, damit APOs die gewünschten Eigenschaften des Verweisstreams angeben können.
IApoAuxiliaryInputConfiguration

Stellt Methoden bereit, die APOs implementieren können, damit die Audio-Engine zusätzliche Eingabedatenströme hinzufügen und entfernen kann.
IApoAuxiliaryInputRT

Die echtzeitsichere Schnittstelle, die zum Steuern der Hilfseingaben eines APO verwendet wird.
IAudioDeviceModulesClient

Audio Processing Objects (APOs) implementieren diese Schnittstelle, um einen Verweis auf eine IAudioDeviceModulesManager-instance abzurufen.
IAudioMediaType

Die IAudioMediaType-Schnittstelle macht Methoden verfügbar, mit denen ein sAPO Informationen abrufen kann, die zum Aushandeln mit der Audio-Engine für das entsprechende Audiodatenformat verwendet werden.
IAudioProcessingObject

System Effects Audio Processing Objects (sAPOs) werden in der Regel in Echtzeitprozessthreads verwendet oder aufgerufen.
IAudioProcessingObjectConfiguration

Die IAudioProcessingObjectConfiguration-Schnittstelle wird zum Konfigurieren des APO verwendet. Diese Schnittstelle verwendet ihre Methoden, um den APO für die Verarbeitung zu sperren und zu entsperren.
IAudioProcessingObjectLoggingService

Stellt einen Protokollierungsdienst für APOs dar.
IAudioProcessingObjectNotifications

Wird von Clients implementiert, um allgemeine audiobezogene Benachrichtigungen für APO-Endpunkt- und Systemeffektbenachrichtigungen zu registrieren und zu empfangen.
IAudioProcessingObjectNotifications2

Wird von Clients implementiert, um allgemeine audiobezogene Benachrichtigungen für APO-Endpunkt- und Systemeffektbenachrichtigungen zu registrieren und zu empfangen. Diese Schnittstelle fügt die Möglichkeit hinzu, die Benachrichtigungstypen zu bestimmen, die auf der Version von Windows unterstützt werden, die auf dem aktuellen Gerät ausgeführt wird.
IAudioProcessingObjectPreferredFormatSupport

Diese Schnittstelle wird von APOs implementiert, damit sie bevorzugte Eingabe- oder Ausgabeformate angeben können.
IAudioProcessingObjectRT

Diese Schnittstelle kann im Echtzeitmodus ausgeführt werden, und ihre Methoden können als Form-Echtzeitverarbeitungsthreads bezeichnet werden.
IAudioProcessingObjectRTQueueService

Stellt einen Echtzeitarbeitswarteschlangendienst für APOs dar.
IAudioSystemEffects

Die IAudioSystemEffects-Schnittstelle verwendet die grundlegenden Methoden, die von IUnknown geerbt werden, und muss eine Initialize-Methode implementieren.
IAudioSystemEffects2

Die IAudioSystemEffects2-Schnittstelle wurde mit Windows 8.1 zum Abrufen von Informationen über die Verarbeitungsobjekte in einem bestimmten Modus eingeführt.
IAudioSystemEffects3

Wird von Clients implementiert, die eine APOInitSystemEffects3-Struktur an die IAudioProcessingObject::Initialize-Methode übergeben müssen.
IAudioSystemEffectsCustomFormats

Die IAudioSystemEffectsCustomFormats-Schnittstelle wird in Windows Vista und höheren Versionen von Windows unterstützt.
Ipropertystore

Diese Schnittstelle macht Methoden verfügbar, die zum Auflisten und Bearbeiten von Eigenschaftswerten verwendet werden.

Strukturen

 
AcousticEchoCanceller_Reference_Input

Enthält erweiterte Informationen zur aktuellen AEC-Konfiguration (Acoustic Echo Cancellation).
APO_NOTIFICATION

Stellt eine Benachrichtigung für eine Änderung an einem APO-Endpunkt oder Systemeffekten dar.
APO_NOTIFICATION_DESCRIPTOR

Gibt eine angeforderte APO-Benachrichtigung an.
APO_REG_PROPERTIES

Die APO_REG_PROPERTIES-Struktur wird von IAudioProcessingObject::GetRegistrationProperties zum Zurückgeben der Registrierungseigenschaften eines Audioverarbeitungsobjekts (APO) verwendet.
APOInitBaseStruct

Die APOInitBaseStruct-Struktur ist der Basisinitialisierungsheader, der anderen Initialisierungsdaten in IAudioProcessingObject::Initialize vorangestellt werden muss.
APOInitSystemEffects

Die APOInitSystemEffects-Struktur wird zur Initialisierung an die Systemeffekt-APO übergeben.
APOInitSystemEffects2

Die APOInitSystemEffects2-Struktur wurde mit Windows 8.1 eingeführt, um zusätzlichen Initialisierungskontext für das Audioverarbeitungsobjekt (APO) für die Initialisierung bereitzustellen.
APOInitSystemEffects3

Stellt APO-Initialisierungsparameter bereit und erweitert APOInitSystemEffects2, um die Möglichkeit hinzuzufügen, einen Dienstanbieter für die Protokollierung anzugeben.
AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR

Gibt eine APO-Benachrichtigung zur Änderung der Endpunkteigenschaft an.
AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION

Stellt eine APO-Benachrichtigung zur Änderung der Eigenschaft dar.
AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR

Gibt eine APO-Benachrichtigung für das Endpunktvolume an.
AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION

Stellt eine APO-Benachrichtigung zur Lautstärkeänderung des Audioendpunkts dar.
AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2

Stellt eine APO-Benachrichtigung zur Lautstärkeänderung des Audioendpunkts dar. Dies ist eine aktualisierte Version von AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION, die zusätzliche Informationen zum Volumeänderungsereignis enthält.
AUDIO_ENVIRONMENT_STATE_CHANGE_NOTIFICATION

Stellt eine APO-Benachrichtigung zur Änderung der Audioumgebung dar.
AUDIO_MICROPHONE_BOOST_APO_NOTIFICATION_DESCRIPTOR

Gibt eine APO-Benachrichtigung zur Mikrofonverstärkung des Endpunkts an.
AUDIO_MICROPHONE_BOOST_NOTIFICATION

Stellt eine APO-Benachrichtigung zur Verstärkung des Audiomikrofons dar.
AUDIO_SYSTEMEFFECT

Stellt einen sAPO-Audioeffekt (System Effects Audio Processing Object) dar.
AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION

Stellt eine SYSTEMAUDIOEFFEKT-APO-Benachrichtigung dar.
AUDIO_VOLUME_NOTIFICATION_DATA2

Stellt Informationen zu einem Volumeänderungsbenachrichtigungsereignis dar. Diese Struktur wird von der AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2-Struktur verwendet.
KSP_PINMODE

Die KSP_PINMODE-Struktur gibt die Pineigenschaft und die unterstützten Audioverarbeitungsmodi für eine Pin factory an.
MDEVICECAPSEX

Die MDEVICECAPSEX-Struktur enthält Gerätefunktionsinformationen für PnP-Gerätetreiber (Plug and Play).
MIDIOPENDESC

Die MIDIOPENDESC-Struktur ist eine clientgefüllte Struktur, die Informationen zum Öffnen eines MIDI-Geräts bereitstellt.
UNCOMPRESSEDAUDIOFORMAT

Die UNCOMPRESSEDAUDIOFORMAT-Struktur gibt die Bildfrequenz, die Kanalmaske und andere Attribute des nicht komprimierten Audiodatenformats an.
WAVEFORMATEX

Die WAVEFORMATEX-Struktur gibt das Datenformat eines Wave-Audiostreams an.