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:
- audiomediatype.h
- audioenginebaseapo.h
- audioengineextensionapo.h
- baseaudioprocessingobject.h
- msapofxproxy.h
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. |