Freigeben über


Neuerungen bei Core-Audio-APIs in Windows 7

Die Core Audio-APIs wurden in Windows Vista eingeführt, das eine neue Gruppe von Audiokomponenten für den Benutzermodus bereitstellte, die eine Clientanwendung zum Rendern oder Aufzeichnen von Audiodatenströmen mit verbesserten Audiofunktionen verwenden kann. Eine allgemeine Übersicht über diesen API-Satz finden Sie unter Informationen zu den Windows Core-Audio-APIs.

Die Core Audio-APIs wurden in Windows 7 verbessert. In der folgenden Tabelle sind die neuen Features und Verbesserungen der Core Audio-APIs zusammengefasst:

Funktion BESCHREIBUNG
Generische Verbesserungen Die folgenden Features wurden in Windows 7 verbessert:
  • Im Windows 7-Freigabemodus werden Streams im Modus mit niedriger Latenz ausgeführt. Die Audio-Engine wird im Pullmodus mit einer erheblichen Verringerung der Latenz ausgeführt. Dies ist sehr nützlich für Kommunikationsanwendungen, die eine geringe Audiostreamlatenz für schnelleres Streaming erfordern.
  • Windows 7 bietet eine bessere Geräterollenerkennung, wenn dem System ein neues Gerät hinzugefügt wird. Weitere Informationen finden Sie unter Arbeiten mit Geräterollen.
  • In Windows 7 können Sie Musik von Ihrem tragbaren Media Player über Ihre Computerlautsprecher hören. Sie können diese Aufzeichnungsmonitorfunktion verwenden, indem Sie einen tragbaren Media Player mit einem analogen Audiokabel an Ihren Computer anschließen. In der Vergangenheit haben einige OEMs diese Funktionalität im Audiotreiber mithilfe eines Hardwareschleifenbacks bereitgestellt. In Windows 7 wurde diese Funktionalität dem Betriebssystem hinzugefügt. Da dies im System und nicht im Treiber vorhanden ist, können Sie dies für jedes andere Gerät verwenden, das mit dem System verbunden ist, z. B. ein USB-Headset.
  • HDMI-Audio wurde in Windows 7 verbessert, das Unterstützung für Formate mit hoher Bitrate bietet. Mit dieser Verbesserung können Sie Multichannel-Audio und komprimierte Audioformate über einen HDMI-Anschluss an einen Audioempfänger unterstützen.
  • In Windows Vista gibt Windows Medienwiedergabe Musik nur über das Standardaudiogerät wieder, das vom Benutzer nicht geändert werden kann. Damit Windows Medienwiedergabe Audio auf einem bestimmten Gerät rendern kann, muss das Standardgerät in der Sound-Systemsteuerung geändert werden. In Windows 7 stellt Windows Medienwiedergabe APIs bereit, die es einer Anwendung ermöglichen, auf jedem vom Benutzer ausgewählten Gerät und nicht nur auf dem Standardgerät zu rendern.
  • Wenn in Windows Vista ein Computer, auf dem Audio wiedergegeben wird, in den Energiesparmodus wechselt, ist der Computer gesperrt, und wenn der Benutzer die Wiedergabe unterbrechen möchte, muss sich der Benutzer anmelden und die Stopptaste drücken, um die Wiedergabe zu beenden. Wenn der Computer in Windows 7 gesperrt ist, können Sie die Wiedergabe weiterhin mithilfe des HID-Steuerelements auf der Tastatur steuern.
  • Windows 7 reduziert den Stromverbrauch für alle Anwendungen, die DirectSound und DirectShow zum Rendern von Medien verwenden. Darüber hinaus ermöglicht der Multimedia Class Scheduler Service störungssichere Audiowiedergabe und verbraucht weniger Strom, während die Audiobeispiele generiert werden.
Kommunikationsgerät (neu) In dieser Version wurde der Sound-Systemsteuerung ein neuer Gerätetyp hinzugefügt: Kommunikationsgerät . Dieses Gerät wird hauptsächlich für die Kommunikation verwendet, d. h. um Telefonanrufe auf dem Computer zu tätigen oder zu empfangen. Eine Kommunikationsanwendung kann Core Audio-Komponenten verwenden, um einen Verweis auf den Endpunkt des Standardkommunikationsgeräts abzurufen und Audiodatenströme zu Kommunikationszwecken zu rendern. Das Betriebssystem betrachtet den auf einem Kommunikationsgerät geöffneten Datenstrom als Kommunikationsdatenstrom. Die WASAPI-Vorgänge für einen Kommunikationsdatenstrom ähneln jedem anderen Audiodatenstrom. Weitere Informationen finden Sie unter Arbeiten mit Geräterollen.
Streamdämpfung oder Audio-Ducking (neu) Automatisches Enten oder Stream-Dämpfung ist ein neues Feature in Windows 7, das für VoIP- und Unified Communication-Anwendungen vorgesehen ist. Standardmäßig reduziert das Betriebssystem die Intensität eines Audiodatenstroms, wenn ein Kommunikationsdatenstrom, z. B. ein Telefonanruf, auf dem Kommunikationsgerät über den Computer empfangen wird. Die Lautstärkeoptionen werden vom Benutzer in der Sound-Systemsteuerung festgelegt. Im Windows SDK wurden neue APIs hinzugefügt, mit denen Anwendungen das Standard-Duckingverhalten ersetzen können. Weitere Informationen zum Implementieren eines benutzerdefinierten Duckingfeatures finden Sie unter Bereitstellen eines benutzerdefinierten Duckingverhaltens.
Streamrouting (neu) In Windows 7 wurden die Core-Audio-APIs verbessert, um einen Audiodatenstrom nahtlos von einem vorhandenen Gerät auf einen neuen Standardendpunkt für Audio zu übertragen. Allgemeine Audio-API-Sets, die Core Audio-APIs wie Media Foundation, DirectSound und WAVE-APIs verwenden, implementieren das Streamroutingfeature. Medienanwendungen, die diese API-Sätze zum Wiedergeben oder Erfassen eines Datenstroms verwenden, verwenden die Standardimplementierung und müssen die Anwendung nicht ändern. Wenn Ihre Medienanwendung jedoch direkt Core-Audio-APIs verwendet, muss die Anwendung die Implementierung des Streamroutings bereitstellen. Dazu muss die Anwendung neue hinzugefügte Ereignisse behandeln, die einen WASAPI-Client benachrichtigen, wenn das Standardgerät verbunden oder entfernt wird. Weitere Informationen zu diesem Feature finden Sie unter Streamrouting.
Geschütztes Benutzermodusaudio (PUMA) (verbessert) PUMA wurde für Windows 7 aktualisiert, um die folgenden Features bereitzustellen:
  • Festlegen von SCMS-Bits (Serial Copy Management System) auf S/PDIF-Endpunkten und HDCP-Bits (Digital Content Protection) mit hoher Bandbreite auf High-Definition Multimedia Interface (HDMI)-Endpunkten.
  • Aktivieren von SCMS- und HDMI-Schutzsteuerungen außerhalb einer geschützten Umgebung (Protected Environment, PE).
Weitere Informationen zu den Verbesserungen finden Sie unter Geschütztes Benutzermodusaudio (PUMA).
Die WAVEFORMATEXTENSIBLE-Struktur wurde auf die WAVEFORMATEXTENSIBLE_IEC61937-Struktur (Neu) erweitert. In Windows 7 wurde eine neue Struktur hinzugefügt, um IEC 61937-Übertragungen zu unterstützen. WAVEFORMATEXTENSIBLE_IEC61937 erweitert die WAVEFORMATEXTENSIBLE-Struktur , um zwei Sätze von Audiodatenstrommerkmalen zu speichern: das codierte Audioformat vor der Übertragung und die Merkmale des Audiodatenstroms, nachdem er decodiert wurde. Die neue -Struktur gibt explizit die effektive Anzahl von Kanälen, die Stichprobengröße und die Datenrate eines Nicht-PCM-Formats an. Mit diesen Informationen kann eine Anwendung die Qualitätsstufe des Nicht-PCM-Datenstroms ableiten, nachdem er dekomprimiert und wiedergegeben wurde. Weitere Informationen finden Sie unter Darstellen von Formaten für IEC 61937-Übertragungen.
IAudioClient::Initialize (verbessert) Die IAudioClient::Initialize-Methode wurde verbessert, um bestimmte Fehler anzuzeigen, die beim Öffnen eines Audiodatenstroms auftreten können. Die neuen Fehlercodes sind:
  • AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED
  • AUDCLNT_E_BUFFER_SIZE_ERROR
  • AUDCLNT_E_INVALID_DEVICE_PERIOD
Weitere Informationen zu diesen Fehlern finden Sie im Abschnitt Rückgabewert in IAudioClient::Initialize.
IAudioCaptureClient::GetBuffer und IAudioRenderClient::GetBuffer (verbessert) Die Methoden IAudioCaptureClient::GetBuffer und IAudioRenderClient::GetBuffer wurden verbessert, um den AUDCLNT_E_BUFFER_ERROR Fehlercode zurückzugeben, der angibt, dass der Endpunktpuffer im exklusiven Modus nicht abgerufen wurde. Weitere Informationen finden Sie unter Hinweise in IAudioCaptureClient::GetBuffer und IAudioRenderClient::GetBuffer.
Jack-Erkennungsfunktion (verbessert) Eine neue Schnittstelle in Windows 7, IKsJackDescription2, erweitert IKsJackDescription. Mithilfe der neuen Schnittstelle kann der Audiostapel oder eine Anwendung zusätzliche Klinkeninformationen abrufen. Dies umfasst die Erkennungsfunktion der Buchse und ob sich das Format des Geräts dynamisch geändert hat.
Windows-Beispiele (neu) Dem Windows SDK wurden neue Beispiele hinzugefügt, die die Verwendung der Core-Audio-APIs veranschaulichen. Weitere Informationen finden Sie unter SDK-Beispiele, die die Kernaudio-APIs verwenden.

 

Wichtige neue Schnittstellen

Die folgenden Schnittstellen sind für Windows 7 neu:

Informationen zu den Windows Core-Audio-APIs