Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní Windows Audio Session API (WASAPI) umožňuje klientským aplikacím spravovat tok zvukových dat mezi aplikací a zařízením zvukového koncového bodu.
Soubory hlaviček Audioclient.h a Audiopolicy.h definují rozhraní WASAPI.
Každý zvukový stream je členem zvukové relace. Prostřednictvím abstrakce relace může klient WASAPI identifikovat zvukový stream jako součást skupiny souvisejících zvukových proudů. Systém může spravovat všechny streamy v relaci jako jednu jednotku.
Zvukový modul je součást zvuku v uživatelském režimu, prostřednictvím které aplikace sdílejí přístup k zařízení zvukového koncového bodu. Zvukový systém přenáší zvuková data mezi vyrovnávací pamětí koncového bodu a zařízením koncového bodu. Pokud chcete přehrát zvukový stream prostřednictvím zařízení koncového bodu vykreslování, aplikace pravidelně zapisuje zvuková data do vyrovnávací paměti koncového bodu vykreslování. Zvukový modul kombinuje streamy z různých aplikací. Pokud chcete nahrát zvukový stream ze zařízení koncového bodu zachycení, aplikace pravidelně čte zvuková data z vyrovnávací paměti koncového bodu zachycení.
WASAPI se skládá z několika rozhraní. První z nich je rozhraní IAudioClient. Pro přístup k rozhraním WASAPI klient nejprve získá odkaz na rozhraní IAudioClient zařízení zvukového koncového bodu voláním metody IMMDevice::Activate s parametrem iid nastaveným na REFIID IID_IAudioClient. Klient volá metodu IAudioClient::Initialize pro inicializaci datového proudu na zařízení koncového bodu. Po inicializaci datového proudu může klient získat odkazy na ostatní rozhraní WASAPI voláním metody IAudioClient::GetService.
Mnoho metod v WASAPI vrací kód chyby AUDCLNT_E_DEVICE_INVALIDATED, pokud zařízení zvukového koncového bodu, které klientská aplikace používá, je neplatné. Aplikace se z této chyby může často zotavit. Další informace viz Obnova z chyby Invalid-Device.
WASAPI implementuje následující rozhraní.
| Rozhraní | Popis |
|---|---|
| IAudioCaptureClient | Umožňuje klientovi číst vstupní data z vyrovnávací paměti koncového bodu zachycení. |
| IAudioClient | Umožňuje klientovi vytvořit a inicializovat audio stream mezi audio aplikací a audio enginem nebo hardwarovou vyrovnávací pamětí koncového zvukového zařízení. |
| IAudioClock | Umožňuje klientovi monitorovat rychlost dat datového proudu a aktuální pozici v datovém proudu. |
| IAudioRenderClient | Umožňuje klientovi zapisovat výstupní data do vyrovnávací paměti koncového bodu vykreslování. |
| IAudioSessionControl | Umožňuje klientovi konfigurovat řídicí parametry pro zvukovou relaci a monitorovat události v relaci. |
| IAudioSessionManager | Umožňuje klientovi přístup k ovládacím prvkům relací a ovládání hlasitosti pro zvukové relace mezi procesy i ty specifické pro jednotlivé procesy. |
| IAudioStreamVolume | Umožňuje klientovi řídit a monitorovat úrovně hlasitosti pro všechny kanály ve zvukovém streamu. |
| IChannelAudioVolume | Umožňuje klientovi řídit úrovně hlasitosti pro všechny kanály ve zvukové relaci, do které datový proud patří. |
| ISimpleAudioVolume | Umožňuje klientovi řídit hlavní úroveň hlasitosti zvukové relace. |
Klienti WASAPI, kteří vyžadují oznámení událostí souvisejících s relací, by měli implementovat následující rozhraní.
| Rozhraní | Popis |
|---|---|
| IAudioSessionEvents | Poskytuje oznámení o událostech souvisejících s relací, jako jsou změny v hladině hlasitosti, zobrazovaném názvu a stavu relace. |
Související témata