Seleção de ponto de extremidade de áudio padrão a partir do Windows 10
O subsistema de áudio do Windows 10 usa um algoritmo com heurísticas aprimoradas para seleção de ponto de extremidade de áudio padrão. Este tópico descreve essas heurísticas e como o subsistema de áudio do Windows 10 as usa para selecionar o ponto de extremidade de áudio padrão. Para você entender melhor o novo mecanismo de seleção do Windows 10, este tópico também explica como ocorre a seleção de ponto de extremidade de áudio padrão no Windows 7. O público-alvo deste tópico são OEMs e IHVs.
Essas informações se aplicam ao sistema operacional Windows 10.
As referências e os recursos discutidos aqui estão listados no final deste tópico.
Introdução
A maioria dos dispositivos de áudio do PC contém vários recursos de áudio logicamente independentes. No Windows 7 e no Windows 10, cada recurso é exposto como um ponto de extremidade de áudio separado. Os pontos de extremidade são listados no aplicativo Som do Painel de Controle, conforme mostrado na caixa de diálogo de exemplo a seguir do Windows 7.
E na nova página de configurações de som disponível no Windows 10.
Apenas um ponto de extremidade de áudio por vez pode ser definido como padrão para um console específico ou função de comunicação. No entanto, a partir do Windows 10, há a opção de direcionar um ponto de extremidade diferente para essas funções para aplicativos diferentes usando a página Volume do aplicativo e preferências do dispositivo.
Os subsistemas de áudio do Windows 7 e do Windows 10 usam algoritmos semelhantes para determinar o ponto de extremidade de áudio padrão quando nenhuma preferência do usuário foi especificada. No entanto, o algoritmo do Windows 10 é diferente do Windows 7 na maneira como ele lida com a seleção do usuário do padrão e que ele lida com uma preferência por aplicativo.
Este tópico descreve como o ponto de extremidade de áudio padrão é selecionado no Windows 10. Para uma melhor compreensão do que há de novo no Windows 10, a seleção de ponto de extremidade de áudio padrão no Windows 7 também é explicada.
Algoritmo básico para seleção de ponto de extremidade de áudio padrão
Os subsistemas de áudio do Windows 7 e do Windows 10 usam um algoritmo semelhante para determinar o ponto de extremidade de áudio padrão. O algoritmo opera da seguinte forma:
- Percorra todos os pontos de extremidade ACTIVE para localizar um ponto de extremidade definido como padrão preferencial pelo usuário para este aplicativo (novo para o Windows 10)
- Se um ponto de extremidade for identificado, ele será retornado e o processo será concluído.
- Se nenhum ponto de extremidade for identificado, percorra todos os pontos de extremidade ATIVOS para localizar um ponto de extremidade definido como padrão preferencial pelo usuário para o sistema (seleção modificada para o Windows 10).
- Se um ponto de extremidade for identificado, ele será retornado e o processo será concluído.
- Se nenhum ponto de extremidade for identificado, faça um loop por todos os pontos de extremidade ACTIVE para localizar o ponto de extremidade com a propriedade "rank" mais alta para a função solicitada e não tenha um conjunto de propriedades de PKEY_AudioDevice_NeverSetAsDefaultEndpoint nunca definido como padrão. (valores de ponderação de classificação modificados para o Windows 10).
- Se um ponto de extremidade for identificado, ele será retornado e o processo será concluído.
- Se nenhum ponto de extremidade for identificado, a solicitação falhará indicando E_NOTFOUND.
Há quatro estados de ponto de extremidade: ATIVO, DESCONECTADO, DESABILITADO e NÃO PRESENTE, que são definidos em DEVICE_STATE_XXX constantes. O subsistema de áudio considera apenas pontos de extremidade ATIVOS (no estado presente e habilitado) quando determina o ponto de extremidade de áudio padrão. Quaisquer eventos que façam com que o estado de um ponto de extremidade seja alterado de ou para o estado ATIVO podem afetar potencialmente o ponto de extremidade de áudio padrão atual. Esses eventos incluem a inserção de um dispositivo de áudio, a desconexão de um dispositivo e a instalação de um novo dispositivo de áudio. Em resposta a essas operações, o subsistema de áudio do Windows executa o algoritmo heurístico de ponto de extremidade de áudio padrão para determinar o novo ponto de extremidade de áudio padrão.
A propriedade de carimbo de data/hora do ponto de extremidade no Windows 7
A propriedade timestamp do ponto de extremidade é uma chave de propriedade que contém a hora do sistema. No Windows 7, a propriedade de carimbo de data/hora de um ponto de extremidade é criada ou atualizada quando é definida como o ponto de extremidade de áudio padrão por meio do aplicativo Som do Painel de Controle.
Uma propriedade de carimbo de data/hora é associada a cada função, e a propriedade de carimbo de data/hora é usada pelo algoritmo de seleção padrão para identificar quais pontos de extremidade foram definidos como padrão preferencial pelo usuário para essa função. O algoritmo identificará o ponto de extremidade com a propriedade de carimbo de data/hora mais recente como o ponto de extremidade padrão.
A propriedade Level no Windows 10
A propriedade timestamp que foi usada no Windows 7 para a preferência padrão do usuário não permitiu a seleção automática de um dispositivo recém-conectado após a seleção padrão inicial. Por exemplo, se um usuário definir o alto-falante interno como o ponto de extremidade padrão a qualquer momento no passado e depois conectar novos fones de ouvido USB, o sistema nunca se moveria para os fones de ouvido USB sem uma seleção manual.
A partir do Windows 10, a seleção padrão do usuário é criada como uma estrutura semelhante a uma árvore de preferências passadas que considera quais pontos de extremidade estavam disponíveis no momento da seleção padrão feita pelo usuário. A razão para isso é que, quando um usuário seleciona um ponto de extremidade padrão, ele está comunicando sua preferência por esse ponto de extremidade em relação a quais outros pontos de extremidade estavam ativos no momento da seleção. O usuário não está comunicando uma preferência absoluta pelo dispositivo selecionado para sempre e em todas as situações.
O uso e a criação da propriedade Timestamp foram removidos do Windows 10, substituídos pela propriedade Level. A propriedade level é usada para criar a estrutura em forma de árvore das preferências do usuário. Como a propriedade timestamp, há uma propriedade level associada a cada função. A propriedade level é criada ou atualizada sempre que o usuário seleciona um ponto de extremidade padrão por meio do painel de controle de som, da página de configurações de som ou do controle de áudio na bandeja do sistema.
O algoritmo de atribuição padrão funciona da seguinte maneira:
Quando um ponto de extremidade é selecionado como padrão, esse ponto de extremidade é movido para a parte superior da estrutura semelhante a uma árvore, atribuindo-lhe o nível mais alto disponível. O próximo nível abaixo na árvore conteria um ou mais pontos de extremidade que foram selecionados no passado como padrão ou estavam ativos no momento dessa seleção, mas nunca foram selecionados pelo usuário. Cada seleção subsequente traz o ponto de extremidade desejado para o topo da lista, movendo as seleções anteriores para baixo e agrupando pontos de extremidade ativos, mas ainda não selecionados, para criar condições de empate. No caso de todos os pontos de extremidade no sistema serem definidos como padrão, a estrutura resultante se torna uma lista ordenada simples com um ponto de extremidade em cada nível.
O algoritmo de determinação padrão funciona da seguinte maneira:
Primeiro, os pontos de extremidade ativos sem um valor de nível são comparados com a classificação, com o ponto de extremidade com a classificação mais alta selecionado como padrão. Dessa forma, os pontos de extremidade que foram adicionados recentemente recebem uma primeira oportunidade de serem o padrão, pois são os mais recentes no sistema e conectados depois que o usuário selecionou o padrão anterior.
Em seguida, se todos os pontos de extremidade ativos contiverem um nível, o ponto de extremidade com o nível mais alto, sem empate, será escolhido como padrão. Ter o nível mais alto indica que, em algum momento no passado, o usuário definiu esse ponto de extremidade como padrão, enquanto os outros pontos de extremidade, com um valor de nível mais baixo, estavam ativos.
Finalmente, se todos os pontos de extremidade contiverem um valor de nível e os pontos de extremidade com os valores de nível mais altos estiverem todos empatados, a classificação de ponto de extremidade será usada para desempate. Isso indica que esses pontos de extremidade estavam ativos no momento de uma seleção padrão, mas não foram eles mesmos selecionados. Não temos indicação de preferência do usuário entre esses endpoints, então o sistema de classificação automatizado é usado.
Vale notar que, com esse novo algoritmo, um "novo" endpoint recebe maior ponderação para se tornar o padrão. Isso significa que o comportamento do driver que faz com que um ponto de extremidade de áudio pareça novo em um sistema tem o potencial de disparar uma alteração padrão.
Exemplos de comportamentos e eventos de driver que resultam em uma perda de configurações do usuário em pontos de extremidade de áudio e farão um ponto de extremidade de áudio parecer "novo" para o sistema, potencialmente desencadeando uma alteração no dispositivo padrão, são:
- Instalando um driver diferente. Por exemplo, alternar entre o driver de classe HDAudio e o driver de terceiros 3rd correspondente para o hardware. Isso é esperado e por design, pois as configurações do usuário e os pontos de extremidade disponíveis não são assumidos como iguais entre duas ou mais instalações de driver não relacionadas.
- Desinstalando e reinstalando o driver. A desinstalação do driver de áudio faz com que o AudioEndpointBuilder exclua as configurações do usuário associadas ao driver. A instalação de um novo driver fará com que o AudioEndpointBuilder crie novos pontos de extremidade de áudio. Esse é o comportamento esperado e por design, no entanto, esse comportamento deve ser evitado pelos instaladores automatizados quando resulta em uma perda inesperada de configurações do usuário.
- Quaisquer alterações na cadeia de caracteres de referência do filtro de ponto de extremidade de áudio ou na ID do pino. Os pontos de extremidade de áudio são identificados pela string de referência passada para PnP quando a interface KS foi criada, juntamente com o ID do pino para o conector externo. A alteração desses valores fará com que um novo ponto de extremidade de áudio seja criado. Esse novo ponto de extremidade de áudio não conterá as configurações do usuário associadas à cadeia de caracteres de referência anterior e ao ID do pino do conector. As cadeias de caracteres de referência e os IDs dos pinos do conector não devem ser alterados durante a vida útil da instalação do driver, inclusive entre as atualizações do driver.
- Um dispositivo de áudio HDMI ou de vídeo que altera o tipo de terminal ou o ID do coletor. Espera-se que o tipo de terminal e o ID do coletor mudem quando o usuário anexar uma tela diferente ao sistema, uma exibição diferente é um novo ponto de extremidade com novas configurações de usuário associadas a ele. No entanto, alterar esses valores quando não houver nenhuma alteração correspondente na exibição anexada será percebida como uma perda de configurações do usuário. O ID do coletor e o tipo de terminal devem permanecer constantes para o monitor conectado.
A heurística de ponto de extremidade de áudio padrão do Windows 10
A heurística de ponto de extremidade de áudio padrão do Windows 10 para seleção automática de ponto de extremidade é a mesma que a heurística do Windows 7, com algumas pequenas modificações nas ponderações de fator para proporcionar uma melhor experiência ao usuário.
A heurística de seleção padrão começa coletando informações sobre o ponto de extremidade de áudio; os fatores. Cada fator é então ponderado e os valores ponderados resultantes para todos os fatores são somados. A soma resultante é chamada de classificação de ponto de extremidade. Um valor de classificação é calculado para cada função para cada ponto de extremidade (console e comunicações).
O ponto de extremidade com a classificação mais alta é então escolhido como padrão para a função solicitada.
Fatores heurísticos do Windows 10
O subsistema de áudio do Windows 10 considera as seguintes características ou fatores de ponto de extremidade para selecionar o ponto de extremidade de áudio padrão:
- Capacidade de detecção de tomada
- Fator forma
- KSNodeType
- Tipo de ônibus
- Localização geral
- Localização geométrica
- SubtipoEspecífico
- Podem existir fatores adicionais que não afetam as funções Console ou Comunicação e estão fora do escopo desta documentação.
O Windows 10 define um conjunto de valores de enum para cada fator de ponto de extremidade com suporte e os armazena no Registro. Seguem-se descrições detalhadas desses fatores e seus conjuntos de valores enumerantes correspondentes.
Capacidade de detecção de tomada
Um ponto de extremidade com esse recurso implica que os drivers de áudio podem notificar o subsistema de áudio quando o dispositivo periférico de áudio conectado a um ponto de extremidade é conectado ou desconectado. Os pontos de extremidade de áudio que oferecem suporte ao recurso de detecção de tomada são chamados de pontos de extremidade dinâmicos, e aqueles que não fornecem esse suporte são chamados de pontos de extremidade estáticos. Para oferecer suporte ao recurso de detecção de tomada, os drivers de dispositivo de áudio devem oferecer suporte à propriedade KSPROPERTY_JACK_DESCRIPTION2. Para obter mais informações sobre essa propriedade, consulte KSPROPERTY_JACK_DESCRIPTION2.
Valores de enum da capacidade de detecção de Jack |
---|
Com suporte |
NotSupported |
A heurística do dispositivo de áudio padrão do Windows 10 trata todos os pontos de extremidade de áudio USB e pontos de extremidade de áudio Bluetooth como capazes de detecção de tomada.
Fator de forma
O fator de forma de um ponto de extremidade de áudio indica os atributos físicos do ponto de extremidade de áudio com o qual o usuário interage, como fones de ouvido, alto-falantes ou S/PDIF. Para determinar o fator de forma de um ponto de extremidade, o subsistema de áudio usa lógica fixa integrada para mapear a categoria do pino do Kernel Streaming (KSNodeType), que é exposta pelo driver de áudio, para um fator de forma específico. Para obter mais informações, consulte EndpointFormFactor.
Valores de enum do fator de forma do ponto de extremidade |
---|
Dispositivo de rede remota |
Palestrantes |
Nível de linha |
Fones de ouvido |
Microfone |
Headset |
Monofone |
DesconhecidoDigitalPassthrough |
SPDIF |
DigitalAudioDisplayDevice |
UnknownFormFactor |
KSNodeType
O driver de áudio seleciona o KSNodeType para um pino KS em um ponto de extremidade porque o driver tem conhecimento detalhado sobre o dispositivo de áudio que pode estar conectado a uma tomada de áudio. Portanto, KsNodeType revela um conhecimento mais específico sobre o ponto de extremidade do que seu fator de forma.
Valores de enum KSNodeType |
---|
KSNODETYPE_SPEAKER |
KSNODETYPE_MICROPHONE_ARRAY |
KSNODETYPE_HEADPHONES |
Para obter informações mais detalhadas sobre KsNodeType, consulte Propriedade de categoria de fixação.
Tipo de ônibus
Esse fator representa o tipo de barramento a partir do qual o dispositivo de áudio que expôs os pontos de extremidade de áudio foi enumerado.
Valores de enum do tipo de barramento |
---|
BTHENUM |
BTHHFENUM |
USB |
HDAUDIO |
PCI |
Desconhecido |
O subsistema de áudio favorece pontos de extremidade em um determinado tipo de barramento em relação a outros tipos de barramento quando todas as outras características de ponto de extremidade são idênticas. Por exemplo, o sistema dá prioridade aos fones de ouvido Bluetooth em relação aos fones de ouvido HD Audio integrados para fornecer uma melhor experiência de comunicação para o usuário; ou seja, quando um usuário final introduz um dispositivo de fone de ouvido Bluetooth neste PC, o sistema o torna o dispositivo padrão.
Localização Geral
A localização geral indica a localização bruta física da tomada ou do dispositivo ao qual o ponto de extremidade de áudio está conectado.
Valores de enum de localização geral |
---|
PrimaryBox (no chassi primário do sistema, acessível ao usuário) |
Interno (na placa-mãe, não acessível sem abrir a caixa) |
Separar (como uma caixa móvel) |
Outro |
Localização Geométrica
A localização geométrica indica a localização geométrica da tomada ou do dispositivo ao qual o ponto de extremidade de áudio está conectado.
Valores de enum de localização geométrica |
---|
eGeoLocTraseira |
eGeoLocFront |
eGeoLocEsquerda |
eGeoLocDireito |
eGeoLocTop |
eGeoLocBottom |
eGeoLocRearOPanel |
eGeoLocRiser |
SubtipoEspecífico
A propriedade específica do subtipo permite extensões futuras de um valor heurístico que depende da propriedade pin category do ponto de extremidade. Ele permite um recurso Supported/NotSupported.
SubtipoValores de enum de capacidade específicos |
---|
Com suporte |
NotSupported |
Atualmente, a única propriedade específica do subtipo está relacionada à geometria da matriz do microfone. No contexto da geometria do conjunto de microfones, "Suportado" significa geometria frontal/traseira. "NotSupported" indica alguma outra geometria. Se mais de uma matriz de microfone estiver presente, uma preferência pela geometria frontal/traseira pode ser tomada.
Detalhes heurísticos do Windows 10
A heurística de ponto de extremidade de áudio padrão do Windows 10 pondera cada fator de ponto de extremidade. Quanto maior a prioridade de um fator, maior seu peso. Este tópico usa WeightFactor_Xxx para identificar a prioridade de um fator.
Além disso, a heurística do Windows 10 atribui um valor de classificação (nRankXxx neste tópico) a cada valor de enum dentro de uma categoria de fator. Esse valor de classificação estabelece a importância relativa entre todos os valores de enum sob o mesmo fator.
Esses valores WeightFactor_Xxx e nRankXxx são armazenados pelo Windows no registro durante a instalação do sistema operacional. O conjunto de parâmetros para o cálculo da classificação da heurística depende das características do ponto de extremidade. A tabela a seguir mostra um conjunto de exemplos de parâmetros.
Peso do fator de desfecho | Valor de classificação do fator de ponto de extremidade |
---|---|
WeightFactor_JackDet | nRankJackDet |
WeightFactor_SubType | nRankSubType |
WeightFactor_FormFactor | nRankFormFactor |
WeightFactor_BusType | nRankBusType |
WeightFactor_GenLoc | nRankGenLoc |
WeightFactor_GeoLoc | nRankGeoLoc |
WeightFactor_SubtypeSpecific | nRankSubtypeSpecific |
O subsistema de áudio calcula a classificação ponderada de um ponto de extremidade em todos os seus fatores, da seguinte maneira:
WeightedRankValue =
WeightFactor_JackDet * nRankJackDet +
WeightFactor_SubType * nRankSubType +
WeightFactor_FormFactor * nRankFormFactor +
WeightFactor_BusType * nRankBusType +
WeightFactor_GenLoc * nRankGenLoc +
WeightFactor_GeoLoc * nRankGeoLoc |
WeightFactor_SubtypeSpecific * nRankSubtypeSpecific.
O subsistema de áudio calcula o valor de classificação ponderada para todos os pontos de extremidade ativos e seleciona o ponto de extremidade que tem a classificação mais alta como o ponto de extremidade de áudio padrão.
O mecanismo heurístico de seleção de ponto de extremidade de áudio padrão do Windows 10 também oferece suporte a um recurso de exceção. Esse recurso permite que o sistema ou um OEM faça com que o subsistema de áudio designe um ponto de extremidade que corresponda a um conjunto específico de características com valores de classificação ponderados muito altos ou muito baixos. Tais designações tornam a heurística do sistema mais flexível quando se trata de cenários inesperados.
As heurísticas para a função de dispositivo de console e a função de dispositivo de comunicação são separadas, mas o mecanismo é exatamente o mesmo, com ordem diferente para os fatores com base em funções.
Configurações heurísticas da caixa de entrada do Windows 10
O Windows 10 é fornecido com configurações baseadas nos detalhes heurísticos deste tópico. O ponto de extremidade de áudio do console padrão e o ponto de extremidade de áudio de comunicação padrão têm configurações diferentes. Esta seção descreve as configurações para ambos os tipos de pontos de extremidade.
Configurações heurísticas da caixa de entrada para o ponto de extremidade de áudio do console padrão
Esta seção descreve as configurações heurísticas padrão para cada fator para um ponto de extremidade de áudio do console. Os fatores estão listados em ordem de prioridade; ou seja, o Windows 10 dá prioridade mais alta ao primeiro fator na lista a seguir quando o subsistema de áudio determina o ponto de extremidade do console padrão.
Capacidade de detecção de tomada
Os endpoints com capacidade de detecção de tomada fornecem as informações mais atualizadas ao sistema sobre se um dispositivo periférico de áudio está fisicamente conectado ao sistema e quando ele está conectado ou desconectado. Essas informações ajudam a criar uma melhor experiência do usuário final, portanto, o Windows 10 define esse fator como o fator de prioridade mais alto. Um ponto de extremidade com capacidade de detecção de jack tem uma prioridade mais alta do que pontos de extremidade sem esse recurso, não importa como outros fatores se comparem.
Fator forma
O Windows 10 usa uma ordem de prioridade de fator de forma diferente do Windows 7, os valores foram ajustados com base nos comentários e estudos do usuário.
O Windows 10 define a prioridade do fator de forma para pontos de extremidade do console de renderização na seguinte ordem de prioridade:
- Fones de ouvido e fone de ouvido
- Palestrantes
- Nível de linha
- DigitalAudioDisplayDevice
- S/PDIF
- Qualquer outra coisa (tratada com a mesma prioridade mais baixa; ou seja, with_nRankFormFactor_ igual a zero)
O Windows 10 define a prioridade do fator de forma para pontos de extremidade do console de captura na seguinte ordem de prioridade:
- Headset
- Microfone
- Nível de linha
- Qualquer outra coisa (tratada com a mesma prioridade mais baixa; ou seja, com nRankFormFactor igual a zero)
Por exemplo, considere um sistema com três pontos de extremidade de renderização do console de áudio:
- Um ponto de extremidade de fone de ouvido estático de áudio HD (um fone de ouvido sem capacidade de detecção de tomada).
- Um ponto de extremidade estático S/PDIF Out.
- Um ponto de extremidade de alto-falantes dinâmicos (alto-falantes com suporte a detecção de tomada).
O subsistema de áudio usa a heurística do sistema Windows 10 e escolhe o ponto de extremidade de alto-falantes dinâmicos como o ponto de extremidade de renderização de áudio do console padrão, mesmo que o fator de forma dos alto-falantes seja priorizado abaixo do fator de forma do fone de ouvido. O ponto final dos alto-falantes é escolhido porque é capaz de detecção de jack, que tem uma prioridade maior sobre o fator de forma, enquanto os fones de ouvido não têm essa capacidade.
Se um ponto de extremidade de fone de ouvido USB dinâmico for introduzido no exemplo acima, o subsistema de áudio do Windows 7 escolherá esse ponto de extremidade como o ponto de extremidade de renderização de console padrão. Essa escolha ocorre porque o fator de forma dos fones de ouvido tem prioridade mais alta do que o fator de forma dos alto-falantes quando ambos os dispositivos suportam detecção de tomada.
KSNodeType
Como mencionado anteriormente, o KSNodeType fornece informações mais detalhadas do que as indicadas pelo fator de forma para um dispositivo de áudio conectado a um ponto de extremidade. O Windows 10 define três KSNodeTypes relacionados ao microfone para priorizar ainda mais os pontos de extremidade com o fator de forma do microfone, mas KSNodeType diferente. Eles são classificados em ordem de prioridade da seguinte forma:
- KSNODETYPE_PROCESSING_MICROPHONE_ARRAY
- KSNODETYPE_MICROPHONE_ARRAY
- KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
- Qualquer outra coisa (tratada com a mesma prioridade mais baixa; ou seja, com nRankSubType igual a zero)
Por exemplo, considere um sistema com dois pontos de extremidade de captura de áudio:
- Um ponto de extremidade de matriz de microfone estático integrado com KSNODETYPE_MICROPHONE_ARRAY.
- Um ponto de extremidade de microfone estático com KSNODETYPE_MICROPHONE.
Quando o subsistema de áudio usa a heurística do sistema para escolher o ponto de extremidade de áudio de captura de console padrão, ele seleciona o ponto de extremidade da matriz de microfone. A matriz de microfone é selecionada porque, embora ambos os pontos de extremidade tenham a mesma capacidade de detecção de tomada e fator de forma, o KsNodeType da matriz de microfone é priorizado mais alto do que o do microfone. Ou seja, KSNODETYPE_MICROPHONE_ARRAY é priorizado acima de KSNODETYPE_MICROPHONE, que não está listado e se enquadra na categoria "qualquer outra coisa".
Para obter mais informações sobre KsNodeType, consulte Propriedade Pin Category.
Tipo de ônibus
O Windows 10 classifica os valores de enum para tipos de barramento de ponto de extremidade na seguinte ordem de prioridade, da prioridade mais alta para a mais baixa:
- USB
- HDAudio e UnknownBusType (normalmente um sistema SOC)
- PCI
- BTHENUM
- BTHHFENUM
- Outros (tratados com a mesma prioridade mais baixa; ou seja, com nRankBusType igual a zero)
Localização Geral
O Windows 10 classifica os valores de enum para localização geral na seguinte ordem de prioridade, da prioridade mais alta para a mais baixa:
- PrimaryBox e Interno
- Outros (tratados com a mesma prioridade mais baixa; ou seja, nRankGenLoc é igual a zero)
Os drivers de áudio relatam as informações gerais de localização de seus pontos de extremidade por meio da propriedade KSPROPERTY_JACK_DESCRIPTION . Para obter detalhes, consulte Jack Description Property.
Localização Geométrica
O Windows 10 classifica os valores de enum para localização geométrica na seguinte ordem de prioridade, da prioridade mais alta para a mais baixa:
- Frontal e InsideMobileLid
- Inferior, Esquerda, OutsideMobileLid, Traseira, Direita e Superior
- Painel Traseiro
- Outros (tratados com a mesma prioridade mais baixa; ou seja, com nRankGeoLoc igual a zero)
Os drivers de áudio relatam as informações de localização geométrica de seus pontos de extremidade por meio da propriedade KSPROPERTY_JACK_DESCRIPTION . Para obter detalhes, consulte Jack Description Property.
Exceções
Além dos fatores heurísticos anteriores, o Windows 10 tem 3 exceções para a heurística de dispositivo de console padrão. O Windows 7 teve apenas 1 exceção.
A primeira exceção, presente no Windows 7 e 10, impede que pontos de extremidade óbvios orientados à comunicação — como o aparelho e o viva-voz — sejam escolhidos como o ponto de extremidade padrão do console. Especificamente, o subsistema de áudio faz downgrade do resultado WeightedRankValue para pontos de extremidade que têm um dos seguintes valores KSNodeType:
- 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
- Pontos de extremidade específicos de áudio celular que existem em cenários móveis
A segunda exceção, presente apenas no Windows 10, também impede que pontos de extremidade orientados a comunicações óbvias sejam escolhidos como o ponto de extremidade de console padrão. Ao contrário da primeira exceção, essa exceção também considera o tipo de barramento. A razão para isso é que muitos fones de ouvido USB populares usam os seguintes KSNodeTypes, mesmo que os dispositivos não sejam específicos de comunicação. O algoritmo de classificação do Windows 7 rebaixou esses KSNodeTypes para o ponto de extremidade de console padrão para todos os tipos de barramento. Para o Windows 10, esses KSNodeTypes são rebaixados apenas para tipos de barramento não-USB.
- KSNODETYPE_PERSONAL_MICROPHONE
- KSNODETYPE_COMMUNICATION_SPEAKER
- KSNODETYPE_HEADSET
Para a terceira exceção, uma preferência é explicitamente introduzida para pontos de extremidade "pessoais" — como fones de ouvido e fones de ouvido — que são fisicamente conectados ao sistema com um fio. Alguns exemplos seriam fones de ouvido USB com fio e fones de ouvido com fio de 3,5 mm. Ao contrário das 2 exceções anteriores, essa exceção atualiza esses pontos de extremidade para serem preferidos para o ponto de extremidade de console padrão. Esta exceção é nova para o Windows 10 e é para melhorar a privacidade do usuário, preferindo pontos de extremidade que apenas o usuário pode ouvir sobre pontos de extremidade de alto-falante que outros podem ouvir.
Configurações heurísticas da caixa de entrada para o ponto de extremidade de áudio de comunicação padrão
Esta seção descreve as configurações heurísticas padrão de cada fator para um ponto de extremidade de áudio de comunicação. Os fatores estão listados em ordem de prioridade; ou seja, o Windows 10 dá a prioridade mais alta ao primeiro fator da lista a seguir quando calcula o ponto de extremidade de comunicação padrão. A única diferença entre a heurística dos pontos de extremidade padrão do console e os pontos de extremidade padrão das comunicações está nas configurações de fator forma e na regra de exceção.
Capacidade de detecção de tomada
As configurações heurísticas do recurso de detecção de tomada são as mesmas para os pontos de extremidade de áudio de comunicação padrão e os pontos de extremidade de áudio padrão do console.
Fator forma
Diferentes listas de prioridades são criadas para renderizar dispositivos padrão de comunicações e capturar dispositivos padrão de comunicações.
A prioridade do fator de forma para pontos de extremidade de captura padrão de comunicações em ordem de prioridade (da prioridade mais alta para a mais baixa) é a seguinte:
- Headset
- Monofone
- Microfone
- Nível de linha
A prioridade do fator de forma para pontos de extremidade de renderização padrão de comunicações em ordem de prioridade (da prioridade mais alta para a mais baixa) é a seguinte:
- Headset
- Monofone
- Fones de ouvido
- Palestrantes
- Nível de linha
- DigitalAudioDisplayDevice (HDMI ou DisplayPort)
- S/PDIF
- Qualquer outra coisa (tratada com a mesma prioridade mais baixa; ou seja, com nRankFormFactor igual a zero)
KSNodeType
As configurações heurísticas KsNodeType são as mesmas para pontos de extremidade de áudio de comunicação padrão e pontos de extremidade de áudio de console padrão.
Tipo de ônibus
As configurações heurísticas do tipo de barramento são as mesmas para os pontos de extremidade de áudio de comunicação padrão e os pontos de extremidade de áudio padrão do console.
Localização Geral
O Windows 10 classifica os valores de enum para localização geral na seguinte ordem de prioridade, da prioridade mais alta para a mais baixa:
- Separar
- Caixa Primária
- Interna
- Outros (tratados com a mesma prioridade mais baixa; ou seja, nRankGenLoc é igual a zero)
Os drivers de áudio relatam as informações gerais de localização de seus pontos de extremidade por meio da propriedade KSPROPERTY_JACK_DESCRIPTION. Para obter mais informações, consulte Propriedade de descrição de Jack.
Localização Geométrica
O Windows 10 classifica os valores de enum para localização geométrica na seguinte ordem de prioridade, da prioridade mais alta para a mais baixa:
- Frontal e InsideMobileLid
- Outros (tratados com a mesma prioridade mais baixa; ou seja, com nRankGeoLoc igual a zero)
Os drivers de áudio relatam as informações de localização geométrica de seus pontos de extremidade por meio da propriedade KSPROPERTY_JACK_DESCRIPTION. Para obter mais informações, consulte Propriedade de descrição de Jack.
Exceções
Além dos fatores heurísticos anteriores, o Windows 10 também tem três exceções implementadas para a heurística de dispositivo de comunicação padrão, enquanto o Windows 7 tinha apenas uma.
A primeira exceção prefere pontos de extremidade óbvios orientados à comunicação — como o aparelho e o viva-voz — por serem escolhidos como o ponto de extremidade de comunicação padrão. Especificamente, o subsistema de áudio atualiza o resultado WeightedRankValue para pontos de extremidade com um KSNodeType que corresponde a qualquer um dos seguintes valores:
- 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
A segunda exceção evita pontos de extremidade que são óbvios pontos de extremidade orientados para o console que são inadequados para o uso de comunicações:
- KSNODETYPE_SPEAKERS_STATIC_JACK
- Pontos de extremidade de áudio especiais que só existem em cenários móveis, que não são utilizáveis para áudio de comunicação
No momento em que este artigo foi escrito, existe uma terceira exceção para preferir pontos de extremidade de áudio celular. Essa exceção existe apenas para cenários móveis com capacidade celular e está fora do escopo desta documentação. Como esse tipo de ponto de extremidade só existirá em sistemas móveis, essa exceção pode ser ignorada com segurança.