Delen via


Standaardselectie van audiouitgang vanaf Windows 10

Het Windows 10-audiosubsysteem maakt gebruik van een algoritme met verbeterde heuristiek voor standaardselectie van audio-eindpunten. In dit onderwerp worden deze heuristieken beschreven en hoe het Windows 10-audiosubsysteem deze gebruikt om het standaardaudio-eindpunt te selecteren. Voor meer informatie over het nieuwe selectiemechanisme voor Windows 10 wordt in dit onderwerp ook uitgelegd hoe standaardselectie van audio-eindpunten plaatsvindt in Windows 7. De doelgroep van dit onderwerp is OEM's en IHD's.

Deze informatie is van toepassing op het Windows 10-besturingssysteem.

Verwijzingen en bronnen die hier worden besproken, worden aan het einde van dit onderwerp vermeld.

Introductie

De meeste pc-audioapparaten bevatten meerdere logisch onafhankelijke audiofuncties. In Windows 7 en Windows 10 wordt elke functie weergegeven als een afzonderlijk audio-eindpunt. Eindpunten worden weergegeven in de toepassing Geluid van het Configuratiescherm, zoals wordt weergegeven in het volgende voorbeelddialoogvenster van Windows 7.

Schermopname van het dialoogvenster Geluid van het Configuratiescherm in Windows 7.

En op de nieuwe pagina met geluidsinstellingen die beschikbaar is in Windows 10.

Schermopname van de pagina geluidsinstellingen in Windows 10.

Er kan slechts één audio-eindpunt tegelijk worden ingesteld als de standaardinstelling voor een specifieke console- of communicatierol. Vanaf Windows 10 is er echter de optie om een ander eindpunt voor deze rollen te richten op verschillende toepassingen met behulp van de pagina App-volume en apparaatvoorkeuren.

Schermopname van de pagina App-volume en apparaatvoorkeuren in Windows 10.

De Windows 7- en Windows 10-audiosubsystemen gebruiken vergelijkbare algoritmen om het standaardaudio-eindpunt te bepalen wanneer er geen gebruikersvoorkeur is opgegeven. Het Windows 10-algoritme verschilt echter van Windows 7 op de manier waarop het gebruikersselectie van de standaardinstelling afhandelt en dat het een voorkeur per toepassing afhandelt.

In dit onderwerp wordt beschreven hoe het standaardaudio-eindpunt wordt geselecteerd in Windows 10. Voor een beter begrip van wat er nieuw is in Windows 10, wordt de standaardselectie van audio-eindpunten in Windows 7 ook uitgelegd.

Basisalgoritmen voor standaardselectie van audio-eindpunten

De Windows 7- en Windows 10-audiosubsystemen gebruiken een vergelijkbaar algoritme om het standaardaudio-eindpunt te bepalen. Het algoritme werkt als volgt:

  • Doorloop alle ACTIEVE eindpunten om een eindpuntset als voorkeursinstelling te vinden voor de gebruiker voor deze toepassing (nieuw voor Windows 10)
    • Als een eindpunt wordt geïdentificeerd, wordt het geretourneerd en wordt het proces voltooid.
  • Als er geen eindpunt is geïdentificeerd, doorloopt u alle ACTIEVE eindpunten om een eindpuntset te vinden als de standaardinstelling van de gebruiker voor het systeem (selectie gewijzigd voor Windows 10).
    • Als een eindpunt wordt geïdentificeerd, wordt het geretourneerd en wordt het proces voltooid.
  • Als er geen eindpunt is geïdentificeerd, doorloopt u alle ACTIEVE eindpunten om het eindpunt te vinden met de hoogste 'rang'-eigenschap voor de aangevraagde rol en niet de eigenschap "nooit als standaard ingesteld" met PKEY_AudioDevice_NeverSetAsDefaultEndpoint ingesteld. (rangschikkingswaarden gewijzigd voor Windows 10).
    • Als een eindpunt wordt geïdentificeerd, wordt het geretourneerd en wordt het proces voltooid.
  • Als er geen eindpunt wordt geïdentificeerd, mislukt de aanvraag die aangeeft E_NOTFOUND.

Er zijn vier eindpuntstatussen: ACTIEF, UNPLUGGED, DISABLED en NOT PRESENT, die zijn gedefinieerd in DEVICE_STATE_XXX Constanten. Het audiosubsysteem beschouwt alleen ACTIEVE eindpunten (in de huidige en ingeschakelde status) wanneer het het standaardaudio-eindpunt bepaalt. Gebeurtenissen die ertoe leiden dat de status van een eindpunt wordt gewijzigd van of naar de ACTIVE-status, kunnen mogelijk van invloed zijn op het huidige standaardaudio-eindpunt. Dergelijke gebeurtenissen omvatten het invoegen van een audioapparaat, het loskoppelen van een apparaat en het installeren van een nieuw audioapparaat. Als reactie op dergelijke bewerkingen voert het Windows-audiosubsysteem het standaard-heuristische algoritme voor het audio-eindpunt uit om het nieuwe standaardaudio-eindpunt te bepalen.

De eigenschap Eindpunttijdstempel in Windows 7

De tijdstempeleigenschap van het eindpunt is een eigenschapssleutel die de systeemtijd bevat. In Windows 7 wordt de tijdstempeleigenschap van een eindpunt gemaakt of bijgewerkt wanneer deze is ingesteld als het standaardaudio-eindpunt via de toepassing Geluid van het Configuratiescherm.

Schermopname van de standaardselectie van het audio-eindpunt in de toepassing Geluid van het Configuratiescherm.

Een tijdstempeleigenschap is gekoppeld aan elke rol en de tijdstempeleigenschap wordt gebruikt door het standaardselectie-algoritme om te bepalen welke eindpunten zijn ingesteld als de voorkeursstandaard door de gebruiker voor die rol. Het algoritme identificeert het eindpunt met de nieuwste tijdstempeleigenschap als het standaardeindpunt.

De eigenschap Niveau in Windows 10

De tijdstempeleigenschap die is gebruikt in Windows 7 voor de standaardvoorkeur van de gebruiker, heeft niet toegestaan dat automatisch een nieuw gekoppeld apparaat wordt geselecteerd na de eerste standaardselectie. Als een gebruiker bijvoorbeeld de interne luidspreker instelt als het standaardeindpunt in het verleden en later nieuwe USB-hoofdtelefoons aangesloten, zou het systeem nooit zonder handmatige selectie naar de USB-hoofdtelefoon gaan.

Vanaf Windows 10 is de standaardselectie van de gebruiker gebouwd als een structuur van eerdere voorkeuren die nagaat welke eindpunten beschikbaar waren op het moment van de standaardselectie die door de gebruiker is uitgevoerd. De reden hiervoor is dat wanneer een gebruiker een standaardeindpunt selecteert, de voorkeur voor dat eindpunt wordt gecommuniceerd ten opzichte van wat andere eindpunten actief waren op het moment van de selectie. De gebruiker communiceert geen absolute voorkeur voor het geselecteerde apparaat voor altijd en in alle situaties.

Het gebruik en het maken van de eigenschap Timestamp is verwijderd uit Windows 10, vervangen door de eigenschap Niveau. De niveaueigenschap wordt gebruikt voor het bouwen van de structuurachtige structuur van gebruikersvoorkeuren. Net als bij de tijdstempeleigenschap is er een niveaueigenschap gekoppeld aan elke rol. De niveaueigenschap wordt gemaakt of bijgewerkt wanneer de gebruiker een standaardeindpunt selecteert, maar wel via het configuratiescherm voor geluid, de pagina met geluidsinstellingen of het audiobesturingselement in het systeemvak.

Het standaardtoewijzingsalgoritmen werken als volgt:

Wanneer een eindpunt als standaard is geselecteerd, wordt dat eindpunt naar de bovenkant van de structuur verplaatst door het hoogste beschikbare niveau toe te wijzen. Het volgende niveau in de structuur bevat een of meer eindpunten die in het verleden als standaard zijn geselecteerd of die actief waren op het moment van deze selectie, maar die nooit door de gebruiker zijn geselecteerd. Elke volgende selectie plaatst het gewenste eindpunt bovenaan de lijst, waarbij eerdere selecties naar beneden worden verplaatst. Actieve, maar nog niet geselecteerde eindpunten worden samengegroepeerd om gelijke omstandigheden te creëren. In het geval dat alle eindpunten in het systeem als standaard zijn ingesteld, wordt de resulterende structuur een eenvoudige geordende lijst met één eindpunt op elk niveau.

Het standaardbepalingsalgoritmen werkt als volgt:

Ten eerste worden actieve eindpunten zonder een niveauwaarde vergeleken, waarbij het eindpunt met de hoogste rang is geselecteerd om standaard te zijn. Op deze manier krijgen eindpunten die onlangs zijn toegevoegd, de eerste mogelijkheid om de standaardwaarde te zijn, omdat ze de nieuwste versie van het systeem zijn en verbonden zijn nadat de gebruiker de vorige standaardwaarde heeft geselecteerd.

Als alle actieve eindpunten vervolgens een niveau bevatten, wordt het eindpunt met het hoogste niveau, zonder een gelijkspel, als standaard gekozen. Het hoogste niveau geeft aan dat op een bepaald moment in het verleden dit eindpunt is ingesteld als de standaardwaarde, terwijl de andere eindpunten, met een lagere waarde, actief waren.

Ten slotte, als alle eindpunten een niveauwaarde bevatten en de eindpunten met de hoogste niveauwaarden allemaal zijn gekoppeld, wordt de eindpuntpositie vervolgens gebruikt om de tie te verbreken. Dit geeft aan dat deze eindpunten actief waren op het moment van een standaardselectie, maar niet zelf zijn geselecteerd. We hebben geen indicatie van gebruikersvoorkeur tussen deze eindpunten, dus het geautomatiseerde classificatiesysteem wordt gebruikt.

Het is de moeite waard om te vermelden dat met dit nieuwe algoritme een 'nieuw' eindpunt meer gewicht krijgt om de standaardwaarde te worden. Dit betekent dat het gedrag van het stuurprogramma dat ervoor zorgt dat een audio-eindpunt nieuw wordt weergegeven in een systeem, de mogelijkheid heeft om een standaardwijziging te activeren.

Voorbeelden van gedrag en gebeurtenissen van stuurprogramma's die leiden tot verlies van gebruikersinstellingen op audio-eindpunten en waardoor een audio-eindpunt 'nieuw' wordt weergegeven voor het systeem, waardoor mogelijk een wijziging in het standaardapparaat wordt geactiveerd, zijn:

  • Een ander stuurprogramma installeren. U kunt bijvoorbeeld schakelen tussen het stuurprogramma van de HDAudio-klasse en het overeenkomende stuurprogramma van derden voor de hardware. Dit wordt verwacht en standaard, omdat de gebruikersinstellingen en beschikbare eindpunten niet hetzelfde zijn tussen twee of meer niet-gerelateerde stuurprogramma-installaties.
  • Het stuurprogramma verwijderen en opnieuw installeren. Het verwijderen van het audiostuurprogramma zorgt ervoor dat AudioEndpointBuilder de gebruikersinstellingen verwijdert die aan het stuurprogramma zijn gekoppeld. Het installeren van een nieuw stuurprogramma zorgt ervoor dat AudioEndpointBuilder nieuwe audio-eindpunten maakt. Dit is verwacht gedrag en standaard, maar dit gedrag moet worden vermeden door geautomatiseerde installatieprogramma's wanneer dit resulteert in een onverwacht verlies van gebruikersinstellingen.
  • Wijzigingen in de verwijzingsreeks of pin-ID van het audio-eindpuntfilter. Audio-eindpunten worden geïdentificeerd door de referentiereeks die wordt doorgegeven aan PnP toen de KS-interface werd gemaakt, samen met de pincode-id voor de externe connector. Als u deze waarden wijzigt, wordt er een nieuw audio-eindpunt gemaakt. Dit nieuwe audio-eindpunt bevat niet de gebruikersinstellingen die zijn gekoppeld aan de eerdere referentietekenreeks en verbindingslijnpin-id. Referentietekenreeksen en connector-pin-ID's mogen niet worden gewijzigd gedurende de levensduur van de driverinstallatie, inclusief stuurprogramma-updates.
  • Een HDMI- of audioapparaat voor weergave dat het terminaltype of de sink-ID wijzigt. Het terminaltype en de sink-id worden naar verwachting gewijzigd wanneer de gebruiker een andere weergave aan het systeem koppelt. Een andere weergave is een nieuw eindpunt waaraan nieuwe gebruikersinstellingen zijn gekoppeld. Als u deze waarden echter wijzigt wanneer er geen overeenkomstige wijziging is in de gekoppelde weergave, wordt dit gezien als verlies van gebruikersinstellingen. De sink-id en het terminaltype moeten constant blijven voor de gekoppelde weergave.

De standaard-audio-eindpunt-heuristiek voor Windows 10

De standaard-audio-eindpunt-heuristiek van Windows 10 voor automatische eindpuntselectie is hetzelfde als de Windows 7-heuristiek, met enkele kleine wijzigingen in de factor wegingswaarden om een betere gebruikerservaring te bieden.

De standaardselectie heuristiek begint met het verzamelen van informatie over het audio-eindpunt; de factoren. Elke factor wordt vervolgens gewogen en de resulterende gewogen waarden voor alle factoren worden opgeteld. De resulterende som wordt de eindpuntrang genoemd. Een rangschikkingswaarde wordt berekend voor elke rol voor elk eindpunt (console en communicatie).

Het eindpunt met de hoogste rang wordt vervolgens gekozen als de standaardwaarde voor de aangevraagde rol.

Windows 10 Heuristische factoren

Het Windows 10-audiosubsysteem houdt rekening met de volgende eindpuntkenmerken of factoren om het standaardaudio-eindpunt te selecteren:

Windows 10 definieert een set enumwaarden voor elke ondersteunde eindpuntfactor en slaat deze op in het register. Gedetailleerde beschrijvingen van deze factoren en de bijbehorende opsommingswaardensets volgen.

Jack-detectievermogen

Een eindpunt met deze mogelijkheid impliceert dat audiostuurprogramma's het audiosubsysteem kunnen waarschuwen wanneer het audioapparaat dat is verbonden met een eindpunt is aangesloten of losgekoppeld. Audio-eindpunten die ondersteuning bieden voor de mogelijkheid tot detectie van jacks worden dynamische eindpunten genoemd en de eindpunten die deze ondersteuning niet bieden, worden statische eindpunten genoemd. Ter ondersteuning van de mogelijkheid tot detectie van jacks moeten audioapparaatstuurprogramma's de eigenschap KSPROPERTY_JACK_DESCRIPTION2 ondersteunen. Zie KSPROPERTY_JACK_DESCRIPTION2 voor meer informatie over deze eigenschap.

Enumwaarden voor detectiemogelijkheden van jacks
Ondersteund
Niet ondersteund

De standaard audioapparaat-heuristiek van Windows 10 behandelt alle USB- en Bluetooth-audio-eindpunten alsof ze aansluitdetectie ondersteunen.

Form Factor

De vormfactor van een audio-eindpunt geeft de fysieke kenmerken aan van het audio-eindpunt waarmee de gebruiker communiceert, zoals hoofdtelefoons, luidsprekers of S/PDIF. Om de vormfactor van een eindpunt te bepalen, gebruikt het audiosubsysteem ingebouwde vaste logica om de categorie van de KS-pin (Kernel Streaming) (KSNodeType) toe te wijzen, die door het audiostuurprogramma wordt weergegeven, aan een specifieke vormfactor. Zie EndpointFormFactor voor meer informatie.

Eindpuntformulierfactor-enumwaarden
ExternNetwerkApparaat
Sprekers
Lijnniveau
Hoofdtelefoon
Microfoon
Hooftelefoon met microfoon
mobiele telefoon
OnbekendeDigitaleDoorgave
SPDIF
Digitaal Audio Weergaveapparaat
OnbekendeVormfactor

KSNodeType

Het audiostuurprogramma selecteert het KSNodeType voor een KS-speld op een eindpunt omdat het stuurprogramma gedetailleerde kennis heeft over het audioapparaat dat mogelijk is verbonden met een audioaansluiting. Daarom toont KsNodeType meer specifieke kennis over het eindpunt dan de vormfactor wel doet.

KSNodeType opsommingswaarden
KSNODETYPE_SPEAKER
KSNODETYPE_MICROPHONE_ARRAY
KSNODETYPE_HEADPHONES

Zie Pin-categorie-eigenschap voor meer gedetailleerde informatie over KsNodeType.

Bus Type

Deze factor vertegenwoordigt het bustype waaruit het audioapparaat dat de audio-eindpunten beschikbaar heeft gesteld, is geïnventariseerd.

Bustype enum waarden
BTHENUM
BTHHFENUM
USB
HDAUDIO
PCI
Onbekend

Het audiosubsysteem geeft voorkeur aan eindpunten op een bepaald bustype ten opzichte van andere bustypen wanneer alle andere eindpuntkenmerken identiek zijn. Het systeem geeft bijvoorbeeld prioriteit aan Bluetooth-hoofdtelefoons ten opzichte van de ingebouwde HD Audio-hoofdtelefoon om de gebruiker een betere communicatie-ervaring te bieden; Dat wil gezegd, wanneer een eindgebruiker een Bluetooth-hoofdtelefoonapparaat introduceert op deze pc, maakt het systeem het standaardapparaat.

Algemene locatie

Algemene locatie geeft de fysieke brutolocatie aan van de aansluiting of het apparaat waarmee het audio-eindpunt is verbonden.

Algemene locatie-enumwaarden
PrimaryBox (op het chassis van het primaire systeem, toegankelijk voor de gebruiker)
Intern (op het moederbord, niet toegankelijk zonder de doos te openen)
Afzonderlijk (zoals een mobiele doos)
Overige

Geometrische locatie

Geometrische locatie geeft de geometrische locatie aan van de aansluiting of het apparaat waarmee het audio-eindpunt is verbonden.

Geometrische locatie-enumwaarden
eGeoLocRear
eGeoLocFront
eGeoLocLeft
eGeoLocRight
eGeoLocTop
eGeoLocBottom
eGeoLocRearOPanel
eGeoLocRiser

Subtypespecifiek

Met de subtypespecifieke eigenschap kunnen toekomstige extensies van een heuristieke waarde worden uitgebreid die afhankelijk is van de eigenschap pincategorie van het eindpunt. Hiermee is een ondersteunde/niet-ondersteunde mogelijkheid mogelijk.

Opsommingswaarden voor subtypespecifieke mogelijkheden
Ondersteund
Niet ondersteund

Momenteel is de enige subtypespecifieke eigenschap gerelateerd aan de geometrie van de microfoonmatrix. In de context van de microfoonmatrixgeometrie wordt met 'Ondersteund' de voor-/achtergeometrie bedoeld. 'NotSupported' geeft een andere geometrie aan. Als er meer dan één microfoonmatrix aanwezig is, kan een voorkeur worden genomen voor de geometrie van de voor- en achterkant.

Details van Windows 10 heuristiek

De standaard audio-eindpunt heuristiek in Windows 10 weegt elke eindpuntfactor. Hoe hoger de prioriteit van een factor is, hoe groter het gewicht. In dit onderwerp wordt WeightFactor_Xxx gebruikt om de prioriteit van een factor te identificeren.

Bovendien wijst de Windows 10-heuristiek een rangwaarde (nRankXxx in dit onderwerp) toe aan elke enumwaarde binnen een factorcategorie. Deze rangschikkingswaarde bepaalt het relatieve belang van alle enumwaarden onder dezelfde factor.

Deze WeightFactor_Xxx - en nRankXxx-waarden worden tijdens de installatie van het besturingssysteem door Windows opgeslagen in het register. De set parameters voor de classificatieberekening van de heuristiek is afhankelijk van de kenmerken van het eindpunt. In de volgende tabel ziet u een voorbeeldset parameters.

Gewicht van eindpuntfactor Rangschikkingswaarde van eindpuntfactor
WeightFactor_JackDet nRankJackDet
WeightFactor_SubType nRankSubType
WeightFactor_FormFactor nRankFormFactor
WeightFactor_BusType nRankBusType
WeightFactor_GenLoc nRankGenLoc
WeightFactor_GeoLoc nRankGeoLoc
WeightFactor_SubtypeSpecific nRankSubtypeSpecific

Het audiosubsysteem berekent als volgt de gewogen rang van een eindpunt voor alle factoren:

WeightedRankValue =

WeightFactor_JackDet * nRankJackDet +

WeightFactor_SubType * nRankSubType +

WeightFactor_FormFactor * nRankFormFactor +

WeightFactor_BusType * nRankBusType +

WeightFactor_GenLoc * nRankGenLoc +

WeightFactor_GeoLoc * nRankGeoLoc |

WeightFactor_SubtypeSpecific * nRankSubtypeSpecific.

Het audiosubsysteem berekent de gewogen rangschikkingswaarde voor alle actieve eindpunten en selecteert het eindpunt met de hoogste rang als het standaardaudio-eindpunt.

Het standaardmechanisme voor de selectie van audio-eindpunten in Windows 10 ondersteunt ook een uitzonderingsfunctie. Met deze functie kan het systeem of een OEM ervoor zorgen dat het audiosubsysteem een eindpunt aanwijst dat overeenkomt met een specifieke set kenmerken met zeer hoge of zeer lage rangschikkingswaarden. Dergelijke aanwijzingen maken de heuristiek van het systeem flexibeler wanneer het om onverwachte scenario's gaat.

De heuristiek voor de consoleapparaatrol en de rol van het communicatieapparaat zijn gescheiden, maar het mechanisme is precies hetzelfde, met een andere volgorde voor de factoren op basis van rollen.

Heuristische instellingen voor Windows 10 Inbox

Windows 10 wordt geleverd met instellingen die zijn gebaseerd op de heuristische details in dit onderwerp. Het standaardconsole-audio-eindpunt en het standaardcommunicatie-audio-eindpunt hebben verschillende instellingen. In deze sectie worden de instellingen voor beide typen eindpunten beschreven.

Heuristieke instellingen voor het standaard-audio-eindpunt van de console

In deze sectie worden de standaardinstellingen voor heuristiek voor elke factor voor een console-audio-eindpunt beschreven. De factoren worden vermeld in volgorde van prioriteit; Dat wil gezegd, Windows 10 geeft de hoogste prioriteit aan de eerste factor in de volgende lijst wanneer het audiosubsysteem het standaardconsole-eindpunt bepaalt.

Mogelijkheid voor detectie van jacks

Eindpunten met de mogelijkheid tot detectie van jacks bieden de meest up-to-datumgegevens aan het systeem, ongeacht of een audioapparaat fysiek aan het systeem is gekoppeld en wanneer het is aangesloten of losgekoppeld. Deze informatie helpt bij het creëren van een betere eindgebruikerservaring, dus Windows 10 stelt deze factor in als de hoogste prioriteitsfactor. Een eindpunt met de mogelijkheid voor jackdetectie heeft een hogere prioriteit dan eindpunten zonder deze mogelijkheid, ongeacht hoe andere factoren zich verhouden.

Vormfactor

Windows 10 maakt gebruik van een andere volgorde van de prioriteit van formulierfactor dan Windows 7, de waarden zijn aangepast op basis van feedback en studies van gebruikers.

Windows 10 stelt de prioriteit van de vormfactor in voor console-eindpunten in de volgende volgorde van prioriteit:

  • Hoofdtelefoon en headset
  • Sprekers
  • Lijnniveau
  • Digitaal Audio Weergaveapparaat
  • S/PDIF
  • Alles anders (behandeld met dezelfde laagste prioriteit; dat wil zeggen with_nRankFormFactor_ gelijk aan nul)

Windows 10 stelt de vormfactorprioriteit voor de capture van console-eindpunten in de volgende prioriteitsvolgorde in:

  • Hooftelefoon met microfoon
  • Microfoon
  • Lijnniveau
  • Alles anders (behandeld met dezelfde laagste prioriteit; dat wil zeggen, met nRankFormFactor gelijk aan nul)

Denk bijvoorbeeld aan een systeem met drie eindpunten voor het weergeven van de audioconsole:

  • Een statisch hoofdtelefooneindpunt voor HD-audio (een hoofdtelefoon zonder jackdetectiemogelijkheid).
  • Een statisch S/PDIF Out-eindpunt.
  • Een eindpunt voor dynamische luidsprekers (luidsprekers met ondersteuning voor jackdetectie).

Het audiosubsysteem maakt gebruik van de windows 10-systeem-heuristiek en kiest het eindpunt voor dynamische luidsprekers als het standaardconsole-audio-eindpunt, ook al heeft de vormfactor van de luidsprekers prioriteit onder de vormfactor van de hoofdtelefoon. Het eindpunt van de luidsprekers wordt gekozen omdat het capabel is van aansluitingsdetectie, wat belangrijker is dan de vormfactor, terwijl de hoofdtelefoons dit niet kunnen.

Als een dynamisch USB-hoofdtelefooneindpunt wordt geïntroduceerd in het bovenstaande voorbeeld, kiest het Windows 7-audiosubsysteem dit eindpunt als het standaardeindpunt voor consoleweergave. Deze keuze komt doordat de vormfactor van de hoofdtelefoon een hogere prioriteit heeft dan de luidsprekersvormfactor wanneer beide apparaten ondersteuning bieden voor de detectie van jacks.

KSNodeType

Zoals eerder vermeld, biedt KSNodeType meer gedetailleerde informatie dan die wordt aangegeven door de vormfactor voor een audioapparaat dat is verbonden met een eindpunt. Windows 10 definieert drie KSNodeTypes met betrekking tot microfoons om eindpunten met de microfoonvormfactor, maar verschillende KSNodeTypes, verder te prioriteren. Ze worden als volgt gerangschikt in prioriteitsvolgorde:

  • KSNODETYPE_PROCESSING_MICROPHONE_ARRAY
  • KSNODETYPE_MICROPHONE_ARRAY
  • KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
  • Iets anders (behandeld met dezelfde laagste prioriteit; dat wil zeggen, met nRankSubType gelijk aan nul)

Denk bijvoorbeeld aan een systeem met twee eindpunten voor audio-opname:

  • Een ingebouwd eindpunt voor een statische microfoonmatrix met KSNODETYPE_MICROPHONE_ARRAY.
  • Een statisch microfooneindpunt met KSNODETYPE_MICROPHONE.

Wanneer het audiosubsysteem gebruikmaakt van de systeem-heuristiek om het standaardconsole-opname-audio-eindpunt te kiezen, wordt het eindpunt van de microfoonmatrix geselecteerd. De microfoonmatrix is geselecteerd omdat, hoewel beide eindpunten dezelfde mogelijkheden voor de detectie van aansluitingen en vormfactor hebben, de KsNodeType van de microfoonmatrix een hogere prioriteit krijgt dan die van de microfoon. Dat wil zeggen dat KSNODETYPE_MICROPHONE_ARRAY een hogere prioriteit krijgt dan KSNODETYPE_MICROPHONE, die niet wordt vermeld en in de categorie 'iets anders' valt.

Zie Categorieeigenschap vastmaken voor meer informatie over KsNodeType.

Bus-type

Windows 10 rangschikt de enum-waarden voor eindpuntbustypen in de volgende prioriteitsvolgorde, van hoogste naar laagste prioriteit:

  • USB
  • HDAudio en UnknownBusType (meestal een SOC-systeem)
  • PCI
  • BTHENUM
  • BTHHFENUM
  • Andere (behandeld met dezelfde laagste prioriteit; dat wil zeggen, met nRankBusType gelijk aan nul)

Algemene locatie

Windows 10 rangschikt de enum-waarden voor algemene locatie in de volgende prioriteitsvolgorde, van hoogste naar laagste prioriteit:

  • PrimaryBox en Internaal
  • Andere (behandeld met dezelfde laagste prioriteit; dat wil gezegd : nRankGenLoc is gelijk aan nul)

Audiostuurprogramma's rapporteren de algemene locatiegegevens van hun eindpunten via de eigenschap KSPROPERTY_JACK_DESCRIPTION . Zie de eigenschap Jack Description voor meer informatie.

Geometrische locatie

Windows 10 rangschikt de enumwaarden voor geometrische locatie in de volgende prioriteitsvolgorde, van hoogste naar laagste prioriteit:

  • Voorkant en InsideMobileLid
  • Onder, links, BuitenMobileLid, Achterzijde, Rechts en Boven
  • Achterpaneel
  • Andere (behandeld met dezelfde laagste prioriteit; dat wil gezegd, met nRankGeoLoc gelijk aan nul)

Audiostuurprogramma's rapporteren de geometrische locatiegegevens van hun eindpunten via de eigenschap KSPROPERTY_JACK_DESCRIPTION . Zie de eigenschap Jack Description voor meer informatie.

Uitzonderingen

Naast de voorgaande heuristieke factoren heeft Windows 10 3 uitzonderingen voor de standaardconsoleapparaat-heuristiek. Windows 7 had slechts 1 uitzondering.

De eerste uitzondering, aanwezig in zowel Windows 7 als 10, voorkomt dat duidelijke communicatiegerichte eindpunten, zoals Handset en Speakerphone, worden gekozen als het standaardconsole-eindpunt. Het audiosubsysteem degradeert het WeightedRankValue-resultaat voor eindpunten met een van de volgende KSNodeType-waarden:

  • KSNODETYPE_SPEAKER_AND_HEADSET
  • KSNODETYPE_SPEAKERS_STATIC_JACK
  • KSNODETYPE_HANDSET
  • KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION
  • KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
  • KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE
  • KSNODETYPE_TELEFOONLIJN
  • KSNODETYPE_TELEPHONE
  • KSNODETYPE_DOWN_LINE_PHONE
  • Mobiele audio-specifieke eindpunten die aanwezig zijn in mobiele scenario's

De tweede uitzondering, alleen aanwezig in Windows 10, voorkomt ook dat duidelijke communicatiegerichte eindpunten worden gekozen als het standaardconsole-eindpunt. In tegenstelling tot de eerste uitzondering beschouwt deze uitzondering ook het bustype. De reden hiervoor is dat veel populaire USB-hoofdtelefoons de volgende KSNodeTypes gebruiken, ook al zijn de apparaten niet specifiek voor communicatie. Het classificatie-algoritme van Windows 7 downgradeerde deze KSNodeTypes voor het standaardconsole-eindpunt voor alle bustypen. Voor Windows 10 worden deze KSNodeTypes alleen gedegradeerd voor niet USB-bustypen.

  • KSNODETYPE_PERSONAL_MICROPHONE
  • KSNODETYPE_COMMUNICATION_SPEAKER
  • KSNODETYPE_HEADSET

Voor de derde uitzondering wordt expliciet een voorkeur geïntroduceerd voor 'persoonlijke' eindpunten, zoals Hoofdtelefoons en Headsets, die fysiek met een draad aan het systeem zijn gekoppeld. Enkele voorbeelden zijn bekabelde USB-headsets en bekabelde 3,5mm hoofdtelefoons. In tegenstelling tot de vorige 2 uitzonderingen, worden deze eindpunten opgewaardeerd tot de voorkeurskeuze voor het standaardconsole-eindpunt. Deze uitzondering is nieuw voor Windows 10 en is bedoeld voor verbeterde gebruikersprivacy en geeft de voorkeur aan eindpunten die alleen de gebruiker kan horen via luide luidsprekereindpunten die anderen kunnen horen.

Heuristische instellingen voor de Inbox voor het standaard audio-eindpunt van communicatie

In deze sectie worden de standaardinstellingen voor heuristiek van elke factor voor een communicatie-audio-eindpunt beschreven. De factoren worden vermeld in volgorde van prioriteit; Dat wil gezegd, Windows 10 geeft de hoogste prioriteit aan de eerste factor in de volgende lijst wanneer het het standaardcommunicatie-eindpunt berekent. Het enige verschil tussen de heuristiek van standaardeindpunten van de console en standaardeindpunten voor communicatie is in de formulierfactorinstellingen en de uitzonderingsregel.

Mogelijkheid voor detectie van jacks

De heuristieke instellingen voor de detectie van jacks zijn hetzelfde voor zowel standaardcommunicatie-eindpunten als standaardconsoleaudio-eindpunten.

Vormfactor

Verschillende prioriteitslijsten worden gemaakt voor standaard reproduceerapparaten voor communicatie en standaard opnameapparaten voor communicatie.

De vormfactorprioriteit voor eindpunten voor standaardopname van communicatie in prioriteitsvolgorde (van hoogste prioriteit tot laagste) is als volgt:

  • Hooftelefoon met microfoon
  • mobiele telefoon
  • Microfoon
  • Lijnniveau

De vormfactorprioriteit voor communicatiestandaard rendereindpunten in prioriteitsvolgorde (van hoogste prioriteit naar laag) is als volgt:

  • Hooftelefoon met microfoon
  • mobiele telefoon
  • Hoofdtelefoon
  • Sprekers
  • Lijnniveau
  • DigitalAudioDisplayDevice (HDMI of DisplayPort)
  • S/PDIF
  • Alles anders (behandeld met dezelfde laagste prioriteit; dat wil zeggen, met nRankFormFactor gelijk aan nul)

KSNodeType

De heuristieke instellingen voor KsNodeType zijn hetzelfde voor zowel standaardcommunicatie-eindpunten als standaardconsoleaudio-eindpunten.

Bus-type

De instellingen voor het bustype heuristiek zijn hetzelfde voor zowel standaardcommunicatie-audio-eindpunten als standaardconsole-audio-eindpunten.

Algemene locatie

Windows 10 rangschikt de enum-waarden voor algemene locatie in de volgende prioriteitsvolgorde, van hoogste naar laagste prioriteit:

  • Scheiden
  • PrimaryBox
  • Intern
  • Andere (behandeld met dezelfde laagste prioriteit; dat wil gezegd : nRankGenLoc is gelijk aan nul)

Audiostuurprogramma's rapporteren de algemene locatiegegevens van hun eindpunten via de eigenschap KSPROPERTY_JACK_DESCRIPTION. Zie de eigenschap Jack Description voor meer informatie.

Geometrische locatie

Windows 10 rangschikt de enumwaarden voor geometrische locatie in de volgende prioriteitsvolgorde, van hoogste naar laagste prioriteit:

  • Voorkant en InsideMobileLid
  • Andere (behandeld met dezelfde laagste prioriteit; dat wil gezegd, met nRankGeoLoc gelijk aan nul)

Audiostuurprogramma's rapporteren de geometrische locatiegegevens van hun eindpunten via de eigenschap KSPROPERTY_JACK_DESCRIPTION. Zie de eigenschap Jack Description voor meer informatie.

Uitzonderingen

Naast de voorgaande heuristische factoren heeft Windows 10 ook drie uitzonderingen geïmplementeerd voor de standaardcommunicatieapparaat-heuristiek, terwijl Windows 7 slechts één had.

De eerste uitzondering geeft de voorkeur aan duidelijke communicatiegerichte eindpunten, zoals Handset en Speakerphone, om te worden gekozen als het standaardcommunicatie-eindpunt. Het audiosubsysteem werkt met name het WeightedRankValue-resultaat voor eindpunten bij met een KSNodeType dat overeenkomt met een van de volgende waarden:

  • KSNODETYPE_PERSONAL_MICROPHONE
  • KSNODETYPE_HEADSET
  • KSNODETYPE_TELEFOONLIJN
  • KSNODETYPE_DOWN_LINE_PHONE
  • KSNODETYPE_COMMUNICATION_SPEAKER
  • KSNODETYPE_HANDSET
  • KSNODETYPE_TELEPHONE
  • KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION
  • KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
  • KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE

De tweede uitzondering voorkomt eindpunten die duidelijk consolegeoriënteerde eindpunten zijn die niet geschikt zijn voor communicatiegebruik:

  • KSNODETYPE_SPEAKERS_STATIC_JACK
  • Speciale audio-eindpunten die alleen bestaan in mobiele scenario's, die niet bruikbaar zijn voor communicatieaudio

Op het moment van schrijven bestaat er een derde uitzondering om de voorkeur te geven aan mobiele audio-eindpunten. Deze uitzondering bestaat alleen voor mobiele scenario's met mobiele mogelijkheden en valt buiten het bereik van deze documentatie. Omdat dit type eindpunt alleen op mobiele systemen bestaat, kan deze uitzondering veilig worden genegeerd.

Zie ook

Jack Description-eigenschap

KSPROPERTY_JACK_DESCRIPTION2

KSPROPERTY_JACK_DESCRIPTION3

Categorieeigenschap vastmaken

SetupPreferredAudioDevices