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.
V systému Windows 7 poskytuje ovládací panel multimédií systému Windows Mmsys.cplnovou kartu Communications. Tato karta obsahuje možnosti, které uživateli umožňují nastavit možnosti, které definují, jak systém spravuje komunikační zařízení. Komunikační zařízení se používá především k umístění nebo přijímání telefonních hovorů do počítače. U počítače, který má jenom jedno vykreslovací zařízení (reproduktor) a jedno zařízení pro zachytávání (mikrofon), fungují tato zvuková zařízení také jako výchozí komunikační zařízení. Když uživatel připojí nové zařízení, například náhlavní soupravu USB, systém provede automatickou detekci rolí zařízení vyhledáním nastavení konfigurace naplněného výrobcem OEM. Pokud systém určí, aby zařízení bylo nejvhodnější pro účely komunikace, systém přiřadí eCommunications roli zařízení. Pro tato zařízení poskytuje Mmsys.cpl Windows 7 možnost Výchozí komunikační zařízení, která umožňuje uživateli vybrat komunikační zařízení pro vykreslování zvuku (kartaPřehrávání) a zachytávání zvuku (kartaZáznam). Systém provádí automatickou detekci rolí, ale nenastavuje konkrétní zařízení, které se má použít pro komunikaci. To musí provést uživatel. Nová eCommunications role umožňuje aplikaci rozlišovat mezi zařízením zvoleným uživatelem pro zpracování telefonních hovorů a zařízením, které se má použít jako multimediální zařízení (přehrávání hudby). Pokud má uživatel například náhlavní soupravu a reproduktor připojený k počítači, systém přiřadí eConsole roli reproduktoru a eCommunications roli náhlavní soupravy. Jakmile uživatel vybere náhlavní soupravu, která se má použít jako komunikační zařízení, můžete pro vývoj komunikační aplikace cílit na náhlavní soupravu speciálně pro vykreslení zvukového streamu. Aplikace, kterou uživatel nemůže změnit roli zařízení přiřazenou systémem. Další informace o rolích zařízení najdete v tématu Role zařízení.
Komunikační aplikace, jako jsou aplikace VoIP a Sjednocená komunikace, umísťují a přijímají telefonní hovory prostřednictvím počítače. Aplikace VoIP může například přiřadit stream, který obsahuje oznámení vyzvánění ke koncovému bodu komunikačního zařízení určeného pro přehrávání zvukových streamů. Kromě toho může aplikace otevřít hlasový vstup a výstupní datové proudy na zařízeních koncového bodu zachycení a vykreslování, která jsou nastavená jako komunikační zařízení.
K integraci komunikačních funkcí do vašich aplikací můžete použít:
- rozhraní API MMDevice– pro získání reference na koncový bod komunikačního zařízení.
- WASAPI– k vykreslení a zachycení zvukových proudů prostřednictvím komunikačního zařízení. Operační systém považuje datový proud otevřený na komunikačním zařízení za komunikační datový proud.
Komunikační aplikace vytvoří výčet zařízení a zajišťuje správu datových proudů pro komunikační datový proud (vykreslování nebo zachytávání) stejným způsobem, jako by spravoval nekomuční datový proud pomocí rozhraní CORE Audio API.
Jednou z funkcí, které můžete integrovat do své komunikační aplikace, je automatické potlačení hlasitosti nebo atenuace proudu. Toto chování definuje, co se musí stát s jinými zvuky při otevření komunikačního streamu, například při přijetí telefonního hovoru na komunikačním zařízení. Systém může v závislosti na volbě uživatele ztlumit nebo snížit hlasitost nekomunikačního proudu. Zvukový systém generuje události potlačení při otevření nebo zavření komunikačního streamu pro přehrávání nebo zachytávání streamů. Ve výchozím nastavení operační systém poskytuje základní zkušenost s automatickým snížením hlasitosti. Aplikace médií může nahradit výchozí chování a zpracovat samotné události, aby poskytovala přizpůsobené zážitky s potlačením zvuku.
Následující části popisují, jak pomocí rozhraní Core Audio API poskytnout vlastní zážitek s potlačováním zvuku.
- Výchozí zkušenost s potlačením zvuku
- Zakázání výchozího dovku
- Poskytování vlastního chování potlačení
- aspekty implementace pro notifikace o ztlumení zvuku
- Získání ducking událostí
Získání odkazu na koncový bod komunikačního zařízení
Aby bylo možné komunikační zařízení používat, musí přímý klient WASAPI vypsat zařízení pomocí enumerátoru zařízení. Získejte odkaz na koncový bod výchozího komunikačního zařízení voláním IMMDeviceEnumerator::GetDefaultAudioEndpoint. V tomto volání musí aplikace zadat eCommunications v parametru Role, aby omezila výčet zařízení na komunikační zařízení. Po získání odkazu na koncový bod zařízení můžete aktivovat služby vymezené pro tento koncový bod pomocí volání IMMDevice::Activate. Můžete například předat identifikátor služby IID_IAudioClient k aktivaci objektu zvukového klienta a použít ho ke správě datových proudů, identifikátor IID_IAudioEndpointVolume získat přístup k ovládacím prvkům hlasitosti koncového bodu komunikačního zařízení nebo identifikátor IID_IAudioSessionManager aktivovat správce relací, který umožňuje interakci s modulem zásad koncového bodu. Informace o operacích datových proudů najdete v tématu správa streamů.
Pomocí odkazu IMMDevice můžete také přistupovat k úložišti vlastností koncového bodu zařízení. Tyto hodnoty vlastností, jako je popisný název zařízení a název výrobce, jsou naplněny výrobcem OEM a umožňují aplikaci určit charakteristiky komunikačního zařízení. Další informace naleznete v tématu Vlastnosti zařízení.
Následující ukázkový kód získá odkaz na koncový bod výchozího komunikačního zařízení pro vykreslení zvukového streamu.
IMMDevice *defaultDevice = NULL;
hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IMMDeviceEnumerator),
(LPVOID *)&deviceEnumerator);
hr = deviceEnumerator->GetDefaultAudioEndpoint(eRender,
eCommunications, &defaultDevice);
Související témata