Partager via


Sélection du point de terminaison audio par défaut à partir de Windows 10

Le sous-système audio Windows 10 utilise un algorithme avec des heuristiques améliorées pour la sélection de point de terminaison audio par défaut. Cette rubrique décrit ces heuristiques et la façon dont le sous-système audio Windows 10 les utilise pour sélectionner le point de terminaison audio par défaut. Pour mieux comprendre le nouveau mécanisme de sélection De Windows 10, cette rubrique explique également comment la sélection de point de terminaison audio par défaut se produit dans Windows 7. Le public cible de cette rubrique est les OEM et les IHVS.

Ces informations s’appliquent au système d’exploitation Windows 10.

Les références et les ressources présentées ici sont répertoriées à la fin de cette rubrique.

Introduction

La plupart des périphériques audio PC contiennent plusieurs fonctionnalités audio indépendantes logiquement. Dans Windows 7 et Windows 10, chaque fonctionnalité est exposée en tant que point de terminaison audio distinct. Les points de terminaison sont répertoriés dans l’application Panneau de configuration Sound, comme illustré dans l’exemple de boîte de dialogue suivant à partir de Windows 7.

Capture d’écran de Panneau de configuration boîte de dialogue Application audio dans Windows 7.

Et dans la nouvelle page des paramètres sonores disponible dans Windows 10.

Capture d’écran de la page des paramètres sonores dans Windows 10.

Un seul point de terminaison audio à la fois peut être défini comme valeur par défaut pour un rôle de console ou de communication spécifique. Toutefois, à partir de Windows 10, il existe la possibilité de cibler un autre point de terminaison pour ces rôles vers différentes applications à l’aide de la page Des préférences d’appareil et du volume d’application.

Capture d’écran de la page Des préférences d’appareil et du volume d’applications dans Windows 10.

Les sous-systèmes audio Windows 7 et Windows 10 utilisent des algorithmes similaires pour déterminer le point de terminaison audio par défaut lorsqu’aucune préférence utilisateur n’a été spécifiée. Toutefois, l’algorithme Windows 10 est différent de Windows 7 de la façon dont il gère la sélection de l’utilisateur par défaut et qu’il gère une préférence par application.

Cette rubrique décrit comment le point de terminaison audio par défaut est sélectionné dans Windows 10. Pour mieux comprendre ce qui est nouveau pour Windows 10, la sélection du point de terminaison audio par défaut dans Windows 7 est également expliquée.

Algorithme de base pour la sélection de point de terminaison audio par défaut

Les sous-systèmes audio Windows 7 et Windows 10 utilisent un algorithme similaire pour déterminer le point de terminaison audio par défaut. L’algorithme fonctionne comme suit :

  • Parcourez tous les points de terminaison ACTIVE pour rechercher un point de terminaison défini comme valeur par défaut par défaut par l’utilisateur pour cette application (nouveau pour Windows 10)
    • Si un point de terminaison est identifié, il est retourné et le processus se termine.
  • Si aucun point de terminaison n’est identifié, effectuez une boucle sur tous les points de terminaison ACTIVE pour trouver un point de terminaison défini comme valeur par défaut par défaut par l’utilisateur pour le système (sélection modifiée pour Windows 10).
    • Si un point de terminaison est identifié, il est retourné et le processus se termine.
  • Si aucun point de terminaison n’est identifié, effectuez une boucle sur tous les points de terminaison ACTIVE pour trouver le point de terminaison avec la propriété « rank » la plus élevée pour le rôle demandé et n’a jamais défini comme valeur par défaut PKEY_AudioDevice_NeverSetAsDefaultEndpoint propriété définie. (valeurs de pondération de classement modifiées pour Windows 10).
    • Si un point de terminaison est identifié, il est retourné et le processus se termine.
  • Si aucun point de terminaison n’est identifié, la requête échoue indiquant E_NOTFOUND.

Il existe quatre états de point de terminaison : ACTIVE, UNPLUGGED, DISABLED et NOT PRESENT, qui sont définis dans les constantes DEVICE_STATE_XXX. Le sous-système audio considère uniquement les points de terminaison ACTIVE (dans l’état actuel et activé) lorsqu’il détermine le point de terminaison audio par défaut. Tous les événements qui entraînent la modification de l’état d’un point de terminaison ou de l’état ACTIVE peuvent affecter le point de terminaison audio par défaut actuel. Ces événements incluent l’insertion d’un appareil audio, la déconnexion d’un appareil et l’installation d’un nouvel appareil audio. En réponse à ces opérations, le sous-système audio Windows exécute l’algorithme heuristique de point de terminaison audio par défaut pour déterminer le nouveau point de terminaison audio par défaut.

Propriété Timestamp du point de terminaison dans Windows 7

La propriété timestamp du point de terminaison est une clé de propriété contenant l’heure système. Dans Windows 7, la propriété d’horodatage d’un point de terminaison est créée ou mise à jour lorsqu’elle est définie comme point de terminaison audio par défaut via l’application Panneau de configuration Sound.

Capture d’écran de la sélection de point de terminaison audio par défaut dans Panneau de configuration application Sound.

Une propriété timestamp est associée à chaque rôle et la propriété timestamp est utilisée par l’algorithme de sélection par défaut pour identifier les points de terminaison définis comme valeur par défaut par défaut par l’utilisateur pour ce rôle. L’algorithme identifie le point de terminaison avec la propriété timestamp la plus récente comme point de terminaison par défaut.

Propriété Level dans Windows 10

La propriété timestamp utilisée dans Windows 7 pour la préférence par défaut de l’utilisateur n’a pas permis la sélection automatique d’un appareil nouvellement attaché après la sélection initiale par défaut. Par exemple, si un utilisateur définit le haut-parleur interne comme point de terminaison par défaut à tout moment dans le passé et ultérieurement attaché à un nouveau casque USB, le système ne se déplace jamais vers les écouteurs USB sans sélection manuelle.

À compter de Windows 10, la sélection par défaut de l’utilisateur est générée en tant que structure d’arborescence des préférences passées qui considère les points de terminaison disponibles au moment de la sélection par défaut effectuée par l’utilisateur. La raison en est que lorsqu’un utilisateur sélectionne un point de terminaison par défaut, il communique sa préférence pour ce point de terminaison par rapport à ce que d’autres points de terminaison étaient actifs au moment de la sélection. L’utilisateur ne communique pas une préférence absolue pour l’appareil sélectionné pour toujours et dans toutes les situations.

L’utilisation et la création de la propriété Timestamp ont été supprimées de Windows 10, remplacées par la propriété Level. La propriété de niveau est utilisée pour générer la structure d’arborescence des préférences utilisateur. Comme la propriété timestamp, il existe une propriété de niveau associée à chaque rôle. La propriété de niveau est créée ou mise à jour chaque fois que l’utilisateur sélectionne un point de terminaison par défaut bien que le panneau de configuration audio, la page des paramètres sonores ou le contrôle audio dans la barre d’état système.

L’algorithme d’affectation par défaut fonctionne comme suit :

Lorsqu’un point de terminaison est sélectionné comme valeur par défaut, ce point de terminaison est déplacé en haut de la structure de type arborescence en lui affectant le niveau disponible le plus élevé. Le niveau suivant dans l’arborescence contient un ou plusieurs points de terminaison qui ont été sélectionnés dans le passé comme valeur par défaut, ou étaient actifs au moment de cette sélection, mais n’ont jamais été sélectionnés par l’utilisateur. Chaque sélection suivante amène le point de terminaison souhaité en haut de la liste, en déplaçant les sélections antérieures vers le bas et le regroupement actif, mais comme encore non sélectionnés, les points de terminaison ensemble pour créer des conditions de liaison. Si tous les points de terminaison du système sont définis par défaut, la structure résultante devient une liste ordonnée simple avec un point de terminaison à chaque niveau.

L’algorithme de détermination par défaut fonctionne comme suit :

Tout d’abord, les points de terminaison actifs sans valeur de niveau sont comparés, avec le point de terminaison avec le rang le plus élevé sélectionné pour être par défaut. De cette façon, les points de terminaison qui ont été récemment ajoutés ont la première possibilité d’être la valeur par défaut, car ils sont les plus récents dans le système et connectés après que l’utilisateur a sélectionné la valeur par défaut précédente.

Ensuite, si tous les points de terminaison actifs contiennent un niveau, le point de terminaison avec le niveau le plus élevé, sans liaison, est choisi comme valeur par défaut. Le niveau le plus élevé indique qu’à un moment donné, l’utilisateur a défini ce point de terminaison comme point de terminaison par défaut, tandis que les autres points de terminaison, avec une valeur de niveau inférieur, étaient actifs.

Enfin, si tous les points de terminaison contiennent une valeur de niveau et que les points de terminaison avec les valeurs de niveau le plus élevé sont tous liés, le classement du point de terminaison est ensuite utilisé pour rompre le lien. Cela indique que ces points de terminaison étaient actifs au moment d’une sélection par défaut, mais qu’ils n’étaient pas eux-mêmes sélectionnés. Nous n’avons aucune indication de préférence utilisateur entre ces points de terminaison, de sorte que le système de classement automatisé est utilisé.

Il est important de noter qu’avec ce nouvel algorithme, un point de terminaison « nouveau » est donné une pondération accrue pour devenir la valeur par défaut. Cela signifie que le comportement du pilote qui provoque l’apparition d’un point de terminaison audio dans un système peut déclencher une modification par défaut.

Voici quelques exemples de comportements et d’événements de pilote qui entraînent une perte de paramètres utilisateur sur les points de terminaison audio et qui font apparaître un point de terminaison audio « nouveau » sur le système, ce qui peut déclencher une modification dans l’appareil par défaut :

  • Installation d’un autre pilote. Par exemple, le basculement entre le pilote de classe HDAudio et le pilote tiers correspondant pour le matériel. Cela est attendu et par conception, car les paramètres utilisateur et les points de terminaison disponibles ne sont pas supposés être identiques entre deux installations de pilotes non liées ou plus.
  • Désinstallation et réinstallation du pilote. La désinstallation du pilote audio entraîne la suppression des paramètres utilisateur associés au pilote AudioEndpointBuilder. L’installation d’un nouveau pilote entraîne la création de points de terminaison audio AudioEndpointBuilder. Ce comportement est attendu et par conception, mais ce comportement doit être évité par les programmes d’installation automatisés lorsqu’il entraîne une perte inattendue des paramètres utilisateur.
  • Toutes les modifications apportées à la chaîne de référence du filtre de point de terminaison audio ou à l’ID d’épingle. Les points de terminaison audio sont identifiés par la chaîne de référence transmise à PnP lorsque l’interface KS a été créée, ainsi que l’ID d’épingle du connecteur externe. La modification de ces valeurs entraîne la création d’un nouveau point de terminaison audio. Ce nouveau point de terminaison audio ne contiendra pas les paramètres utilisateur associés à la chaîne de référence précédente et à l’ID de broche du connecteur. Les chaînes de référence et les ID de broche de connecteur ne doivent pas changer pour la durée de l’installation du pilote, y compris entre les mises à jour du pilote.
  • Un appareil HDMI ou d’affichage audio modifiant le type de terminal ou l’ID du récepteur. Le type de terminal et l’ID de récepteur sont censés changer lorsque l’utilisateur attache un autre affichage au système, un autre affichage est un nouveau point de terminaison avec les nouveaux paramètres utilisateur qui lui sont associés. Toutefois, la modification de ces valeurs lorsqu’aucune modification correspondante n’est apportée à l’affichage attaché sera perçue comme une perte de paramètres utilisateur. L’ID du récepteur et le type de terminal doivent rester constants pour l’affichage attaché.

Heuristique du point de terminaison audio par défaut Windows 10

L’heuristique de point de terminaison audio par défaut Windows 10 pour la sélection automatique de points de terminaison est identique à celle de Windows 7 heuristique, avec quelques modifications mineures apportées aux pondérations de facteurs pour offrir une meilleure expérience utilisateur.

L’heuristique de sélection par défaut commence par collecter des informations sur le point de terminaison audio ; les facteurs. Chaque facteur est ensuite pondéré et les valeurs pondérées résultantes pour tous les facteurs sont additionnées. La somme résultante est appelée classement du point de terminaison. Une valeur de classement est calculée pour chaque rôle pour chaque point de terminaison (console et communications).

Le point de terminaison avec le rang le plus élevé est ensuite choisi comme valeur par défaut pour le rôle demandé.

Facteurs heuristiques Windows 10

Le sous-système audio Windows 10 considère les caractéristiques de point de terminaison suivantes, ou facteurs, pour sélectionner le point de terminaison audio par défaut :

Windows 10 définit un ensemble de valeurs d’énumération pour chaque facteur de point de terminaison pris en charge et les stocke dans le Registre. Des descriptions détaillées de ces facteurs et de leurs ensembles de valeurs énumérants correspondants suivent.

Fonctionnalité de détection jack

Un point de terminaison avec cette fonctionnalité implique que les pilotes audio peuvent notifier le sous-système audio lorsque le périphérique périphérique audio connecté à un point de terminaison est branché ou déconnecté. Les points de terminaison audio qui prennent en charge la fonctionnalité de détection de prise en charge sont appelés points de terminaison dynamiques, et ceux qui ne fournissent pas cette prise en charge sont appelés points de terminaison statiques. Pour prendre en charge la fonctionnalité de détection de prise en charge, les pilotes de périphérique audio doivent prendre en charge la propriété KSPROPERTY_JACK_DESCRIPTION2. Pour plus d’informations sur cette propriété, consultez KSPROPERTY_JACK_DESCRIPTION2.

Valeurs d’énumération des capacités de détection Jack
Prise en charge
NotSupported

L’heuristique de l’appareil audio par défaut Windows 10 traite tous les points de terminaison audio USB et les points de terminaison audio Bluetooth comme étant compatibles avec la détection de jack.

Facteur de forme

Le facteur de forme d’un point de terminaison audio indique les attributs physiques du point de terminaison audio avec lequel l’utilisateur interagit, comme les écouteurs, les haut-parleurs ou S/PDIF. Pour déterminer le facteur de forme d’un point de terminaison, le sous-système audio utilise une logique fixe intégrée pour mapper la catégorie de la broche KS (Kernel Streaming) (KSNodeType), exposée par le pilote audio, à un facteur de forme spécifique. Pour plus d’informations, consultez EndpointFormFactor.

Valeurs d’énumération du facteur de forme de point de terminaison
RemoteNetworkDevice
Intervenants
LineLevel
Écouteurs
Microphone
Casque
Combiné
UnknownDigitalPassthrough
SPDIF
DigitalAudioDisplayDevice
UnknownFormFactor

KSNodeType

Le pilote audio sélectionne le KSNodeType pour une broche KS sur un point de terminaison, car le pilote a des connaissances détaillées sur le périphérique audio qui peut être connecté à une prise audio. Par conséquent, KsNodeType révèle des connaissances plus spécifiques sur le point de terminaison que son facteur de forme.

Valeurs d’énumération KSNodeType
KSNODETYPE_SPEAKER
KSNODETYPE_MICROPHONE_ARRAY
KSNODETYPE_HEADPHONES

Pour plus d’informations sur KsNodeType, voir Pin Category, propriété.

Bus Type

Ce facteur représente le type de bus à partir duquel l’appareil audio qui a exposé les points de terminaison audio a été énuméré.

Valeurs d’énumération de type bus
BTHENUM
BTHHFENUM
USB
HDAUDIO
PCI
Inconnu

Le sous-système audio privilégie les points de terminaison d’un certain type de bus sur d’autres types de bus lorsque toutes les autres caractéristiques de point de terminaison sont identiques. Par exemple, le système donne la priorité aux écouteurs Bluetooth sur les écouteurs HD Audio à bord afin de fournir une meilleure expérience de communication pour l’utilisateur ; autrement dit, lorsqu’un utilisateur final introduit un appareil casque Bluetooth sur ce PC, le système le rend l’appareil par défaut.

Emplacement général

L’emplacement général indique l’emplacement brut physique du jack ou de l’appareil auquel le point de terminaison audio est connecté.

Valeurs d’énumération d’emplacement général
PrimaryBox (sur le châssis du système principal, accessible à l’utilisateur)
Interne (sur la carte mère, pas accessible sans ouvrir la boîte)
Séparer (par exemple, une boîte mobile)
Autres

Emplacement géométrique

L’emplacement géométrique indique l’emplacement géométrique du jack ou de l’appareil auquel le point de terminaison audio est connecté.

Valeurs d’énumération d’emplacement géométrique
eGeoLocRear
eGeoLocFront
eGeoLocLeft
eGeoLocRight
eGeoLocTop
eGeoLocBottom
eGeoLocRearOPanel
eGeoLocRiser

SubtypeSpecific

La propriété spécifique au sous-type autorise les extensions futures d’une valeur heuristique qui dépend de la propriété de catégorie de broche du point de terminaison. Il permet une fonctionnalité prise en charge/non prise en charge.

Valeurs d’énumération de capacité SubtypeSpecific
Prise en charge
NotSupported

Actuellement, la seule propriété spécifique au sous-type est liée à la géométrie du tableau de microphones. Dans le contexte de la géométrie du tableau de microphones, « Pris en charge » signifie la géométrie avant/arrière. « NotSupported » indique une autre géométrie. Si plusieurs tableaux de microphones sont présents, une préférence pour la géométrie avant/arrière peut être prise.

Détails heuristiques de Windows 10

L’heuristique du point de terminaison audio par défaut Windows 10 pèse chaque facteur de point de terminaison. Plus la priorité d’un facteur est élevée, plus son poids est élevé. Cette rubrique utilise WeightFactor_Xxx pour identifier la priorité d’un facteur.

En outre, l’heuristique Windows 10 affecte une valeur de classement (nRankXxx dans cette rubrique) à chaque valeur d’énumération dans une catégorie de facteurs. Cette valeur de classement établit l’importance relative parmi toutes les valeurs d’énumération sous le même facteur.

Ces valeurs WeightFactor_Xxx et nRankXxx sont stockées par Windows dans le Registre pendant l’installation du système d’exploitation. L’ensemble de paramètres pour le calcul de classement heuristique dépend des caractéristiques du point de terminaison. Le tableau suivant présente un exemple de jeu de paramètres.

Poids du facteur de point de terminaison Valeur de classement du facteur de point de terminaison
WeightFactor_JackDet nRankJackDet
WeightFactor_SubType nRankSubType
WeightFactor_FormFactor nRankFormFactor
WeightFactor_BusType nRankBusType
WeightFactor_GenLoc nRankGenLoc
WeightFactor_GeoLoc nRankGeoLoc
WeightFactor_SubtypeSpecific nRankSubtypeSpecific

Le sous-système audio calcule le classement pondéré d’un point de terminaison sur tous ses facteurs, comme suit :

WeightedRankValue =

WeightFactor_JackDet * nRankJackDet +

WeightFactor_SubType * nRankSubType +

WeightFactor_FormFactor * nRankFormFactor +

WeightFactor_BusType * nRankBusType +

WeightFactor_GenLoc * nRankGenLoc +

WeightFactor_GeoLoc * nRankGeoLoc |

WeightFactor_SubtypeSpecific * nRankSubtypeSpecific.

Le sous-système audio calcule la valeur de classement pondérée pour tous les points de terminaison actifs et sélectionne le point de terminaison ayant le rang le plus élevé comme point de terminaison audio par défaut.

Le mécanisme heuristique de sélection de point de terminaison audio par défaut de Windows 10 prend également en charge une fonctionnalité d’exception. Cette fonctionnalité permet au système ou à un OEM de faire en sorte que le sous-système audio désigne un point de terminaison qui correspond à un ensemble spécifique de caractéristiques avec des valeurs de classement très élevées ou très faibles. Ces désignations rendent le système heuristique plus flexible lorsqu’il traite de scénarios inattendus.

Les heuristiques pour le rôle d’appareil console et le rôle d’appareil de communication sont séparés, mais le mécanisme est précisément le même, avec un ordre différent pour les facteurs basés sur les rôles.

Boîte de réception Windows 10 Paramètres heuristique

Windows 10 est fourni avec des paramètres basés sur les détails heuristiques de cette rubrique. Le point de terminaison audio de la console par défaut et le point de terminaison audio de communication par défaut ont des paramètres différents. Cette section décrit les paramètres des deux types de points de terminaison.

Boîte de réception Paramètres heuristique pour le point de terminaison audio de la console par défaut

Cette section décrit les paramètres heuristiques par défaut pour chaque facteur pour un point de terminaison audio de console. Les facteurs sont répertoriés dans l’ordre de priorité ; Autrement dit, Windows 10 donne la priorité la plus élevée au premier facteur dans la liste suivante lorsque le sous-système audio détermine le point de terminaison de console par défaut.

Fonctionnalité de détection jack

Les points de terminaison dotés d’une fonctionnalité de détection de prise fournissent les informations les plus à jour au système sur la façon dont un périphérique audio est physiquement attaché au système et lorsqu’il est branché ou déconnecté. Ces informations permettent de créer une meilleure expérience utilisateur final, de sorte que Windows 10 définit ce facteur comme facteur de priorité le plus élevé. Un point de terminaison avec la fonctionnalité de détection de jack a une priorité plus élevée que les points de terminaison sans cette fonctionnalité, quelle que soit la comparaison des autres facteurs.

Facteur de formulaire

Windows 10 utilise un ordre de priorité différent du facteur de forme que Windows 7, les valeurs ont été ajustées en fonction des commentaires et des études des utilisateurs.

Windows 10 définit la priorité du facteur de forme pour les points de terminaison de console de rendu dans l’ordre de priorité suivant :

  • Casques et casques
  • Intervenants
  • LineLevel
  • DigitalAudioDisplayDevice
  • S/PDIF
  • Tout autre chose (traité avec la même priorité la plus basse ; autrement dit, with_nRankFormFactor_ égal à zéro)

Windows 10 définit la priorité du facteur de forme pour les points de terminaison de la console de capture dans l’ordre de priorité suivant :

  • Casque
  • Microphone
  • LineLevel
  • Tout le reste (traité avec la même priorité la plus basse ; autrement dit, avec nRankFormFactor égal à zéro)

Par exemple, considérez un système avec trois points de terminaison de rendu de console audio :

  • Point de terminaison de casque statique AUDIO HD (casque sans fonctionnalité de détection de prise).
  • Point de terminaison statique S/PDIF Out.
  • Point de terminaison dynamique des haut-parleurs (haut-parleurs avec prise en charge de la détection de jack).

Le sous-système audio utilise l’heuristique du système Windows 10 et choisit le point de terminaison dynamique des haut-parleurs comme point de terminaison audio par défaut, même si le facteur de forme des haut-parleurs est hiérarchisé sous le facteur de forme du casque. Le point de terminaison des haut-parleurs est choisi, car il s’agit d’une détection jack capable, qui a une priorité plus élevée sur le facteur de forme, alors que les écouteurs n’ont pas cette fonctionnalité.

Si un point de terminaison de casque USB dynamique est introduit dans l’exemple ci-dessus, le sous-système audio Windows 7 choisit ce point de terminaison comme point de terminaison de rendu par défaut de la console. Ce choix est dû au fait que le facteur de forme du casque a une priorité plus élevée que le facteur de forme des haut-parleurs lorsque les deux appareils prennent en charge la détection de la prise en charge.

KSNodeType

Comme mentionné précédemment, KSNodeType fournit des informations plus détaillées que celles indiquées par le facteur de forme pour un périphérique audio connecté à un point de terminaison. Windows 10 définit trois KSNodeTypes associés au microphone pour hiérarchiser davantage les points de terminaison avec le facteur de forme du microphone, mais différents KSNodeType. Ils sont classés dans l’ordre de priorité comme suit :

  • KSNODETYPE_PROCESSING_MICROPHONE_ARRAY
  • KSNODETYPE_MICROPHONE_ARRAY
  • KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
  • Tout autre élément (traité avec la même priorité la plus basse ; autrement dit, avec nRankSubType égal à zéro)

Par exemple, considérez un système avec deux points de terminaison de capture audio :

  • Point de terminaison de tableau de microphones statiques intégré avec KSNODETYPE_MICROPHONE_ARRAY.
  • Point de terminaison de microphone statique avec KSNODETYPE_MICROPHONE.

Lorsque le sous-système audio utilise l’heuristique système pour choisir le point de terminaison audio de capture de console par défaut, il sélectionne le point de terminaison du tableau de microphones. Le tableau de microphones est sélectionné car, bien que les deux points de terminaison aient la même fonctionnalité de détection de prise et le même facteur de forme, le KsNodeType du tableau de microphone est hiérarchisé par ordre de priorité supérieur à celui du microphone. Autrement dit, KSNODETYPE_MICROPHONE_ARRAY est classé par ordre de priorité supérieur à KSNODETYPE_MICROPHONE, qui n’est pas répertorié et tombe dans la catégorie « autre chose ».

Pour plus d’informations sur KsNodeType, consultez Pin Category, propriété.

Bus Type

Windows 10 classe les valeurs d’énumération pour les types de bus de point de terminaison dans l’ordre de priorité suivant, de la plus haute à la priorité la plus basse :

  • USB
  • HDAudio et UnknownBusType (généralement un système SOC)
  • PCI
  • BTHENUM
  • BTHHFENUM
  • Autres (traités avec la même priorité la plus basse ; autrement dit, avec nRankBusType égal à zéro)

Emplacement général

Windows 10 classe les valeurs d’énumération pour l’emplacement général dans l’ordre de priorité suivant, de la plus haute à la priorité la plus basse :

  • PrimaryBox et Internal
  • Autres (traités avec la même priorité la plus basse ; autrement dit, nRankGenLoc est égal à zéro)

Les pilotes audio signalent les informations d’emplacement générales de leurs points de terminaison via la propriété KSPROPERTY_JACK_DESCRIPTION . Pour plus d’informations, voir Jack Description, propriété.

Emplacement géométrique

Windows 10 classe les valeurs d’énumération pour l’emplacement géométrique dans l’ordre de priorité suivant, de la plus haute à la priorité la plus basse :

  • Front et InsideMobileLid
  • Bas, Gauche, OutsideMobileLid, Arrière, Droit et Haut
  • RearPanel
  • Autres (traités avec la même priorité la plus basse ; autrement dit, avec nRankGeoLoc égal à zéro)

Les pilotes audio signalent les informations d’emplacement géométrique de leurs points de terminaison via la propriété KSPROPERTY_JACK_DESCRIPTION . Pour plus d’informations, voir Jack Description, propriété.

Exceptions

En plus des facteurs heuristiques précédents, Windows 10 a 3 exceptions pour l’heuristique de l’appareil console par défaut. Windows 7 n’a eu qu’une exception.

La première exception, présente à la fois dans Windows 7 et 10, empêche les points de terminaison orientés communication évidents, tels que le combiné et le haut-parleur, d’être choisis comme point de terminaison de console par défaut. Plus précisément, le sous-système audio rétrograde le résultat WeightedRankValue pour les points de terminaison qui ont l’une des valeurs KSNodeType suivantes :

  • KSNODETYPE_SPEAKER_AND_HEADSET
  • KSNODETYPE_SPEAKERS_STATIC_JACK
  • KSNODETYPE_HANDSET
  • KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION
  • KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
  • KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE
  • KSNODETYPE_PHONE_LINE
  • KSNODETYPE_TELEPHONE
  • KSNODETYPE_DOWN_LINE_PHONE
  • Points de terminaison spécifiques à l’audio cellulaire qui existent dans les scénarios mobiles

La deuxième exception, présente uniquement sur Windows 10, empêche également les points de terminaison orientés communications évidents d’être choisis comme point de terminaison de console par défaut. Contrairement à la première exception, cette exception considère également le type de bus. La raison en est que de nombreux écouteurs USB populaires utilisent les KSNodeTypes suivants, même si les appareils ne sont pas spécifiques aux communications. L’algorithme de classement Windows 7 a rétrogradé ces KSNodeTypes pour le point de terminaison de console par défaut pour tous les types de bus. Pour Windows 10, ces KSNodeTypes sont uniquement rétrogradés pour les types de bus non usb.

  • KSNODETYPE_PERSONAL_MICROPHONE
  • KSNODETYPE_COMMUNICATION_SPEAKER
  • KSNODETYPE_HEADSET

Pour la troisième exception, une préférence est explicitement introduite pour les points de terminaison « personnels », tels que casques et casques, qui sont physiquement attachés au système avec un câble. Certains exemples seraient des casques USB câblés et des casques 3,5mm câblés. Contrairement aux 2 exceptions précédentes, cette exception met à niveau ces points de terminaison pour être préférés pour le point de terminaison de console par défaut. Cette exception est nouvelle pour Windows 10 et est destinée à améliorer la confidentialité des utilisateurs, en préférant les points de terminaison que seul l’utilisateur peut entendre sur des points de terminaison haut-parleurs bruyants que d’autres peuvent entendre.

Boîte de réception Paramètres heuristique pour le point de terminaison audio de communication par défaut

Cette section décrit les paramètres heuristiques par défaut de chaque facteur pour un point de terminaison audio de communication. Les facteurs sont répertoriés dans l’ordre de priorité ; Autrement dit, Windows 10 donne la priorité la plus élevée au premier facteur de la liste suivante lorsqu’il calcule le point de terminaison de communication par défaut. La seule différence entre les points de terminaison par défaut de la console et les points de terminaison par défaut de communication se trouve dans les paramètres du facteur de forme et la règle d’exception.

Fonctionnalité de détection jack

Les paramètres heuristiques de la fonctionnalité de détection de jack sont identiques pour les points de terminaison audio de communication par défaut et les points de terminaison audio de la console par défaut.

Facteur de formulaire

Différentes listes de priorité sont créées pour afficher les appareils par défaut des communications et capturer les appareils par défaut des communications.

La priorité du facteur de forme pour les points de terminaison de capture par défaut des communications dans l’ordre de priorité (de la priorité la plus élevée au plus bas) est la suivante :

  • Casque
  • Combiné
  • Microphone
  • LineLevel

La priorité du facteur de forme pour les points de terminaison de rendu par défaut des communications dans l’ordre de priorité (de la priorité la plus élevée au plus bas) est la suivante :

  • Casque
  • Combiné
  • Écouteurs
  • Intervenants
  • LineLevel
  • DigitalAudioDisplayDevice (HDMI ou DisplayPort)
  • S/PDIF
  • Tout le reste (traité avec la même priorité la plus basse ; autrement dit, avec nRankFormFactor égal à zéro)

KSNodeType

Les paramètres heuristiques KsNodeType sont identiques pour les points de terminaison audio de communication par défaut et les points de terminaison audio de la console par défaut.

Bus Type

Les paramètres heuristiques de type bus sont identiques pour les points de terminaison audio de communication par défaut et les points de terminaison audio de la console par défaut.

Emplacement général

Windows 10 classe les valeurs d’énumération pour l’emplacement général dans l’ordre de priorité suivant, de la plus haute à la priorité la plus basse :

  • Séparé
  • PrimaryBox
  • Interne
  • Autres (traités avec la même priorité la plus basse ; autrement dit, nRankGenLoc est égal à zéro)

Les pilotes audio signalent les informations d’emplacement générales de leurs points de terminaison via la propriété KSPROPERTY_JACK_DESCRIPTION. Pour plus d’informations, consultez Jack Description, propriété.

Emplacement géométrique

Windows 10 classe les valeurs d’énumération pour l’emplacement géométrique dans l’ordre de priorité suivant, de la plus haute à la priorité la plus basse :

  • Front et InsideMobileLid
  • Autres (traités avec la même priorité la plus basse ; autrement dit, avec nRankGeoLoc égal à zéro)

Les pilotes audio signalent les informations d’emplacement géométrique de leurs points de terminaison via la propriété KSPROPERTY_JACK_DESCRIPTION. Pour plus d’informations, consultez Jack Description, propriété.

Exceptions

Outre les facteurs heuristiques précédents, Windows 10 a également trois exceptions implémentées pour l’heuristique de l’appareil de communication par défaut, alors que Windows 7 n’en avait qu’un.

La première exception préfère les points de terminaison orientés communication évidents, tels que les combinés et le haut-parleur, pour être choisis comme point de terminaison de communication par défaut. Plus précisément, le sous-système audio met à niveau le résultat WeightedRankValue pour les points de terminaison avec un KSNodeType qui correspond à l’une des valeurs suivantes :

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

La deuxième exception évite les points de terminaison qui sont des points de terminaison orientés console évidents qui ne conviennent pas à l’utilisation des communications :

  • KSNODETYPE_SPEAKERS_STATIC_JACK
  • Points de terminaison audio spéciaux qui existent uniquement dans les scénarios mobiles, qui ne sont pas utilisables pour les communications audio

Au moment de cette écriture, une troisième exception existe pour préférer les points de terminaison audio cellulaires. Cette exception existe uniquement pour les scénarios mobiles dotés d’une fonctionnalité cellulaire et est en dehors de l’étendue de cette documentation. Comme ce type de point de terminaison existe uniquement sur les systèmes mobiles, cette exception peut être ignorée en toute sécurité.

Voir aussi

Jack Description, propriété

KSPROPERTY_JACK_DESCRIPTION2

KSPROPERTY_JACK_DESCRIPTION3

Pin Category, propriété

SetupPreferredAudioDevices