Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O subsistema de áudio do Windows 10 usa um algoritmo com heurística aprimorada para a 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 que você entenda melhor o novo mecanismo de seleção do Windows 10, este tópico também explica como a seleção de ponto de extremidade de áudio padrão ocorre no Windows 7. O público-alvo deste tópico é 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 função é exposta como um endpoint 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.
Somente um dispositivo de áudio por vez pode ser definido como padrão para uma função específica de console ou comunicação. No entanto, a partir do Windows 10, há a opção de definir como alvo um ponto de extremidade diferente para essas funções em aplicativos distintos usando a página de preferências de dispositivo e volume do aplicativo.
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 lida com a seleção padrão do usuário e com a preferência por aplicativo.
Este tópico descreve como o ponto de extremidade de áudio padrão é selecionado no Windows 10. Para ter uma melhor compreensão das novidades do Windows 10, é explicada também a seleção do dispositivo de áudio padrão no Windows 7.
Algoritmo básico para seleção de dispositivo 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 maneira:
- Percorra todos os endereços ativos para localizar um endereço definido como padrão preferido pelo usuário para este aplicativo (novo para Windows 10)
- Se um ponto de extremidade for identificado, ele é retornado e o processo é concluído.
- Se nenhum endpoint for identificado, percorra todos os endpoints ATIVOS para localizar um endpoint configurado como o padrão preferido pelo usuário para o sistema (seleção modificada para 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 uma varredura por todos os pontos de extremidade ativos para localizar o ponto de extremidade com a propriedade "rank" mais alta para a função solicitada e que não tenha a propriedade PKEY_AudioDevice_NeverSetAsDefaultEndpoint definida. (valores de ponderação de classificação modificados para Windows 10).
- Se um ponto de extremidade for identificado, ele será retornado e o processo será concluído.
- Se nenhum endpoint for identificado, a solicitação falhará indicando E_NOTFOUND.
Há quatro estados de ponto de extremidade: ACTIVE, UNPLUGGED, DISABLED e NOT PRESENT, que são definidos em constantes DEVICE_STATE_XXX. O subsistema de áudio considera apenas pontos de extremidade ATIVOS (em estado presente e habilitado) quando determina o ponto de extremidade de áudio padrão. Qualquer evento que faça com que o estado de um ponto de extremidade mude de ou para o estado ACTIVE pode afetar potencialmente o ponto de extremidade de áudio padrão atual. Esses eventos incluem a inserção de um dispositivo de áudio, a desconectaçã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 Timestamp do Ponto de Extremidade no Windows 7
A propriedade de carimbo de data e hora do endpoint é uma chave de propriedade que contém a hora do sistema operacional. 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 o 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 de carimbo de data/hora usada no Windows 7 para a preferência padrão do usuário não permitia a seleção automática de um dispositivo recém-anexado após a seleção padrão inicial. Por exemplo, se um usuário definiu o alto-falante interno como o dispositivo padrão a qualquer momento no passado e posteriormente anexou novos fones de ouvido USB, o sistema nunca mudaria 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. O motivo disso é 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 ao que 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 de nível é usada para criar a estrutura semelhante à árvore das preferências do usuário. Assim como a propriedade timestamp, há uma propriedade de nível associada a cada função. A propriedade de nível é criada ou atualizada sempre que o usuário seleciona um ponto de extremidade padrão no painel de controle de som, na página de configurações de som ou no 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 à á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 que estavam ativos no momento dessa seleção, mas nunca foram selecionados pelo usuário. Cada seleção subsequente coloca o ponto de extremidade desejado na parte superior 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. Caso todos os pontos de extremidade no sistema sejam definidos como padrão, a estrutura resultante se tornará 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 em termos de classificação, sendo selecionado como padrão o ponto de extremidade com a classificação mais alta. Dessa forma, os pontos de extremidade que foram adicionados recentemente têm a primeira chance de se tornarem o padrão, pois são os mais novos no sistema e foram conectados após a escolha do padrão anterior pelo usuário.
Em seguida, se todos os pontos de extremidade ativos contiverem um nível, o ponto de extremidade com o nível mais alto, sem haver empate, será escolhido como o padrão. Ter o nível mais alto indica que, em algum momento no passado, o usuário definiu esse ponto de extremidade como o padrão, enquanto os outros pontos de extremidade, com um valor de nível inferior, estavam ativos.
Por fim, se todos os pontos de extremidade tiverem um valor de nível e os pontos de extremidade com os valores de nível mais alto estiverem empatados, a classificação do ponto de extremidade será usada para desempatar. Isso indica que esses pontos de extremidade estavam ativos durante uma seleção padrão, mas não foram selecionados. Não temos nenhuma indicação de preferência do usuário entre esses endpoints, então utilizamos o sistema de classificação automatizado.
Vale a pena observar que, com esse novo algoritmo, um ponto de extremidade "novo" recebe maior ponderação para se tornar o padrão. Isso significa que o comportamento do driver que faz com que um dispositivo 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 na perda de configurações do usuário em dispositivos de áudio e farão com que um dispositivo de áudio pareça "novo" no sistema, potencialmente disparando 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 correspondente para o hardware. Isso é esperado e intencional, pois as configurações do usuário e os pontos de extremidade disponíveis não se presume que sejam 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 de 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 por instaladores automatizados quando resulta em uma perda inesperada das configurações do usuário.
- Qualquer alteração na cadeia de caracteres de referência do filtro de ponto de extremidade de áudio ou na ID do pin. 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 identificador do pino para o conector externo. Alterar esses 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 de usuário associadas à cadeia de caracteres de referência anterior e à ID do pin do conector. As cadeias de caracteres de referência e as IDs de pin do conector não devem ser alteradas durante todo o período de instalação do driver, incluindo nas atualizações de driver.
- Um dispositivo de áudio HDMI ou de exibição alterando o tipo de terminal ou a ID do coletor. Espera-se que o tipo de terminal e a ID de destino sejam alterados quando o usuário anexar uma exibição diferente ao sistema, pois uma exibição diferente representa um novo ponto de extremidade com novas configurações de usuário associadas a ela. No entanto, a alteração desses valores quando não houver nenhuma alteração correspondente na exibição anexada será percebida como uma perda das configurações do usuário. A ID do coletor e o tipo de terminal devem permanecer constantes para a exibição anexada.
Heurística do Endpoint 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 é igual à heurística do Windows 7, com algumas pequenas modificações nos pesos dos fatores para proporcionar uma melhor experiência do usuário.
A heurística de seleção padrão começa coletando informações sobre o dispositivo de áudio e os fatores associados. Cada fator é então ponderado e os valores ponderados resultantes para todos os fatores são resumidos. 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 endpoint com a classificação mais alta é então escolhido como padrão para o papel solicitado.
Fatores heurísticos do Windows 10
O subsistema de áudio do Windows 10 considera as seguintes características de ponto de extremidade, ou fatores, para selecionar o ponto de extremidade de áudio padrão:
- Capacidade de detecção de jack
- Fator de forma
- KSNodeType
- Tipo de barramento
- Localização geral
- Localização geométrica
- SubtypeSpecific
- Podem existir fatores adicionais que não afetam as funções console ou comunicações e estão fora do escopo desta documentação.
O Windows 10 define um conjunto de valores de enumeração para cada fator de ponto de extremidade com suporte e os armazena no registro. As descrições detalhadas desses fatores e seus conjuntos de valores enumerantes correspondentes seguem.
Habilidade de Detecção de Jack
Um ponto de extremidade com essa funcionalidade 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 estiver conectado ou desconectado. Os pontos de extremidade de áudio que dão suporte à capacidade de detecção de jack 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 dar suporte à funcionalidade de detecção de jack, os drivers de dispositivo de áudio devem dar suporte à propriedade KSPROPERTY_JACK_DESCRIPTION2. Para obter mais informações sobre essa propriedade, consulte KSPROPERTY_JACK_DESCRIPTION2.
| Valores de enumeração da funcionalidade de detecção de jack |
|---|
| Suportado |
| Não Suportado |
A heurística do dispositivo de áudio padrão do Windows 10 trata todos os dispositivos de áudio USB e Bluetooth como capazes de detecção de conector.
Fator de Forma
O fator 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 formato físico de um ponto de extremidade, o subsistema de áudio usa a lógica interna fixa para mapear a categoria do pino KS (KSNodeType), que é exposta pelo driver de áudio, para um formato físico específico. Para obter mais informações, consulte EndpointFormFactor.
| Valores de enumeração de fator de formulário de ponto de extremidade |
|---|
| Dispositivo de Rede Remoto |
| Palestrantes |
| LineLevel |
| Fones de ouvido |
| Microfone |
| Fone de ouvido |
| Auscultador |
| UnknownDigitalPassthrough |
| SPDIF |
| Dispositivo de Display de Áudio Digital |
| 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 enumeração KSNodeType |
|---|
| KSNODETYPE_SPEAKER |
| KSNODETYPE_MICROPHONE_ARRAY |
| KSNODETYPE_HEADPHONES |
Para obter informações mais detalhadas sobre KsNodeType, consulte Propriedade Categoria de Pin.
Tipo de barramento
Esse fator representa o tipo de barramento do qual o dispositivo de áudio que expôs os pontos de extremidade de áudio foi enumerado.
| Valores de enumeração de tipo de barramento |
|---|
| BTHENUM |
| BTHHFENUM |
| USB |
| HDAUDIO |
| PCI |
| Desconhecido |
O subsistema de áudio favorece interfaces em um determinado tipo de barramento em vez de outros tipos de barramento quando todas as outras características de interfaces são idênticas. Por exemplo, o sistema dá prioridade a fones de ouvido Bluetooth sobre fones de ouvido HD Audio a bordo para fornecer uma melhor experiência de comunicação para o usuário; ou seja, quando um usuário final apresenta um dispositivo de fone de ouvido Bluetooth para este computador, o sistema o torna o dispositivo padrão.
Localização Geral
A localização geral indica o local físico geral da tomada ou do dispositivo ao qual o endpoint de áudio está conectado.
| Valores de enumeração de localização geral |
|---|
| PrimaryBox (no chassi do sistema primário, acessível ao usuário) |
| Interno (na placa-mãe, não acessível sem abrir a caixa) |
| Separado (como uma caixa móvel) |
| Outros |
Localização geométrica
A localização geométrica indica o local geométrico da tomada ou do dispositivo ao qual o ponto de extremidade de áudio está conectado.
| Valores de enumeração de localização geométrica |
|---|
| eGeoLocRear |
| eGeoLocFront |
| eGeoLocLeft |
| eGeoLocRight |
| eGeoLocTop |
| eGeoLocBottom |
| eGeoLocRearOPanel |
| eGeoLocRiser |
SubtypeSpecific
A propriedade específica do subtipo permite extensões futuras de um valor heurístico que depende da propriedade de categoria de pino do ponto de extremidade. Ele permite uma função Suportada/NãoSuportada.
| Valores de enumeração de capacidade específica do subtipo |
|---|
| Suportado |
| Não Suportado |
Atualmente, a única propriedade específica do subtipo está relacionada à geometria da matriz de microfone. No contexto da geometria da matriz do microfone, "Suportado" significa geometria dianteira/traseira. "NotSupported" indica alguma outra forma de geometria. Se houver mais de uma matriz de microfone, pode haver uma preferência por geometria frontal/traseira.
Detalhes heurísticos do Windows 10
A heurística do ponto de saída de áudio padrão do Windows 10 pondera cada fator. Quanto maior a prioridade de um fator, maior o 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 enumeração dentro de uma categoria de fator. Esse valor de ranking estabelece a importância relativa entre todos os valores de enumeração dentro do 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 endpoint. A tabela a seguir mostra um conjunto de exemplos de parâmetros.
| Peso do fator de ponto de extremidade | 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 |
| FatorDePeso_SubtipoEspecífico | nRankSubtypeSpecific |
O subsistema de áudio calcula a classificação ponderada de um endpoint, considerando 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 ponderado 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 dá 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 muito altos ou muito baixos. Essas designações tornam a heurística do sistema mais flexível quando lida com cenários inesperados.
A heurística para a função de dispositivo de console e a função de dispositivo de comunicação são separadas, mas o mecanismo é precisamente o mesmo, com ordem diferente para os fatores com base nas 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ções 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 de 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 são listados na 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 jack
Os pontos de extremidade com a funcionalidade de detecção de tomada fornecem as informações mais up-tode data para o sistema sobre se um dispositivo periférico de áudio está fisicamente anexado 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 deteção de conector tem uma prioridade maior do que pontos de extremidade sem essa capacidade, independentemente de como outros fatores se comparam.
Fator de Forma
O Windows 10 usa uma ordem de prioridade de fator forma diferente do Windows 7, os valores foram ajustados com base em comentários e estudos do usuário.
Windows 10 define a prioridade do fator de forma para os pontos de extremidade de console de renderização em seguinte ordem de prioridade:
- Fones de ouvido e fone de ouvido com microfone
- Palestrantes
- LineLevel
- Dispositivo de Display de Áudio Digital
- 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 formulário para capturar pontos de extremidade do console na seguinte ordem de prioridade:
- Fone de ouvido
- Microfone
- LineLevel
- 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 endpoints de renderização de 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 entrada).
- Um ponto de extremidade S/PDIF Out estático.
- Um ponto de extremidade de alto-falantes dinâmicos (alto-falantes com suporte à detecção de jack).
O subsistema de áudio utiliza a heurística do sistema do Windows 10 e seleciona o endpoint de alto-falantes dinâmicos como o padrão para renderização de áudio do console, mesmo que o fator de forma dos alto-falantes seja priorizado abaixo do fator de forma dos fones de ouvido. O ponto de extremidade dos alto-falantes é escolhido porque é capaz de detectar jack, o que tem uma prioridade maior em relação ao fator de forma, enquanto os fones de ouvido não têm essa funcionalidade.
Se um ponto de extremidade de fones 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 do console padrão. Essa opção ocorre porque o design de fones de ouvido tem maior prioridade do que o design de alto-falantes quando ambos os dispositivos dão suporte à detecção de plugue.
KSNodeType
Conforme mencionado anteriormente, o KSNodeType fornece informações mais detalhadas do que as indicadas pelo form factor para um dispositivo de áudio conectado a um ponto de extremidade. O Windows 10 define três tipos de nó KS relacionados ao microfone para priorizar ainda mais os endpoints com o fator de forma de microfone, mas com um tipo de nó KS diferente. Eles são classificados em ordem de prioridade da seguinte maneira:
- 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 endpoint de matriz de microfone estático embutido 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 o mesmo recurso de detecção de entrada e fator de forma, o KsNodeType da matriz de microfone tem uma prioridade maior do que a de um 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 de Categoria de Pino.
Tipo de Ônibus
O Windows 10 classifica os valores de enumeração 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 enumeração para a 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 sobre a localização de seus terminais por meio da propriedade KSPROPERTY_JACK_DESCRIPTION. Para obter detalhes, consulte Propriedade de Descrição do Jack.
Localização geométrica
O Windows 10 classifica os valores de enumeração para a localização geométrica na seguinte ordem de prioridade, da prioridade mais alta à mais baixa:
- Front 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 terminais por meio da propriedade KSPROPERTY_JACK_DESCRIPTION. Para obter detalhes, consulte Propriedade de Descrição do Jack.
Exceções
Além dos fatores heurísticos anteriores, o Windows 10 tem três exceções para a heurística do dispositivo de console padrão. O Windows 7 só tinha uma exceção.
A primeira exceção, presente no Windows 7 e 10, impede que pontos de extremidade óbvios orientados à comunicação, como o fone de ouvido e o viva-voz, sejam escolhidos como o ponto de extremidade de console padrão. Especificamente, o subsistema de áudio rebaixa o 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 (sem redução de eco)
- KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
- KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE
- KSNODETYPE_LINHA_TELEFÔNICA
- KSNODETYPE_TELEPHONE
- KSNODETYPE_DOWN_LINE_PHONE
- Pontos de extremidade específicos para áudio celular que estão presentes em cenários móveis
A segunda exceção, presente apenas no Windows 10, também impede que pontos de extremidade claramente orientados para comunicações sejam escolhidos como ponto de extremidade padrão do console. Ao contrário da primeira exceção, essa exceção também considera o tipo de ônibus. O motivo disso é que muitos fones de ouvido USB populares usam os seguintes KSNodeTypes, mesmo que os dispositivos não sejam especificamente para comunicações. O algoritmo de classificação do Windows 7 rebaixou esses KSNodeTypes para o endpoint padrão do console 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, é introduzida explicitamente uma preferência para terminais "pessoais" — como fones de ouvido e headsets — que são fisicamente conectados com um fio. Alguns exemplos seriam fones de ouvido USB com fio e fones de ouvido com fio de 3,5mm. Ao contrário das duas exceções anteriores, essa exceção atualiza esses pontos de extremidade para serem preferenciais para o ponto de extremidade do console padrão. Essa exceção é nova para o Windows 10 e serve para melhorar a privacidade do usuário, preferindo pontos de extremidade que somente o usuário pode ouvir em relação aos pontos de extremidade do alto-falante que outras pessoas podem ouvir.
Configurações heurísticas de 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 endpoint de áudio de comunicação. Os fatores são listados na ordem de prioridade; ou seja, o Windows 10 dá prioridade mais alta ao primeiro fator na lista a seguir quando calcula o ponto de extremidade de comunicações padrão. A única diferença entre as heurísticas dos pontos de extremidade padrão do console e dos pontos de extremidade padrão de comunicações está nas configurações do fator de forma e na regra de exceção.
Capacidade de detecção de jack
As configurações heurísticas da capacidade de detecção de jack são as mesmas para os pontos de extremidade de áudio de comunicação padrão e os pontos de extremidade de áudio de console padrão.
Fator de Forma
Listas de prioridade diferentes 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 os pontos de extremidade padrão de captura de comunicações, na ordem de prioridade (da mais alta para a mais baixa), é a seguinte:
- Fone de ouvido
- Auscultador
- Microfone
- LineLevel
A prioridade do fator de forma para os pontos de extremidade de renderização padrão para comunicações, na ordem de prioridade (da mais alta para a mais baixa), é a seguinte:
- Fone de ouvido
- Auscultador
- Fones de ouvido
- Palestrantes
- LineLevel
- 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 de KsNodeType são as mesmas para os pontos de extremidade de áudio de comunicação padrão e os pontos de extremidade de áudio de console padrão.
Tipo de Ônibus
As configurações heurísticas de tipo de barramento são as mesmas para endereços de áudio de comunicação padrão e endereços de áudio de console padrão.
Localização Geral
O Windows 10 classifica os valores de enumeração para a localização geral na seguinte ordem de prioridade, da prioridade mais alta para a mais baixa:
- Separar
- PrimaryBox
- 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 mais informações, consulte Jack Description Property.
Localização geométrica
O Windows 10 classifica os valores de enumeração para a localização geométrica na seguinte ordem de prioridade, da prioridade mais alta à mais baixa:
- Front e InsideMobileLid
- Outros (tratados com a mesma prioridade mais baixa; ou seja, com nRankGeoLoc igual a zero)
Os drivers de áudio reportam as informações de localização geométrica de seus endpoints por meio da propriedade KSPROPERTY_JACK_DESCRIPTION. Para obter mais informações, consulte Jack Description Property.
Exceções
Além dos fatores heurísticos anteriores, o Windows 10 também tem três exceções implementadas para a heurística do dispositivo de comunicações padrão, enquanto o Windows 7 tinha apenas uma.
A primeira exceção prefere pontos de extremidade óbvios orientados à comunicação, como Aparelho e 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 endpoints com um KSNodeType que corresponde a qualquer um dos seguintes valores:
- KSNODETYPE_PERSONAL_MICROPHONE
- KSNODETYPE_HEADSET
- KSNODETYPE_LINHA_TELEFÔNICA
- KSNODETYPE_DOWN_LINE_PHONE
- KSNODETYPE_COMMUNICATION_SPEAKER
- KSNODETYPE_HANDSET
- KSNODETYPE_TELEPHONE
- KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION (sem redução de eco)
- KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
- KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE
A segunda exceção evita pontos de extremidade óbvios orientados ao console, que são inadequados para uso em comunicações.
- KSNODETYPE_SPEAKERS_STATIC_JACK
- Dispositivos de áudio especiais que existem apenas em cenários móveis, que não podem ser usados para áudio de comunicação
No momento desta redação, existe uma terceira exceção para preferir pontos de extremidade de áudio celular. Essa exceção existe apenas para cenários móveis com funcionalidade de 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.