Поделиться через


Выбор конечной точки аудио по умолчанию, начиная с Windows 10

Подсистема звука Windows 10 использует алгоритм с расширенными эвристиками для выбора конечной точки аудио по умолчанию. В этом разделе описываются эти эвристики и способы использования подсистемы звука Windows 10 для выбора конечной точки звука по умолчанию. Чтобы лучше понять новый механизм выбора Windows 10, в этом разделе также объясняется, как выбор конечной точки аудио по умолчанию происходит в Windows 7. Целевая аудитория этого раздела — это изготовители оборудования и IHV.

Эта информация относится к операционной системе Windows 10.

Ссылки и ресурсы, рассмотренные здесь, перечислены в конце этого раздела.

Введение

Большинство звуковых устройств пк содержат несколько логически независимых звуковых функций. В Windows 7 и Windows 10 каждая функция предоставляется как отдельная конечная точка звука. Конечные точки перечислены в приложении панель управления Sound, как показано в следующем примере диалогового окна windows 7.

Снимок экрана: диалоговое окно панель управления

И на новой странице параметров звука, доступной в Windows 10.

Снимок экрана: страница параметров звука в Windows 10.

Для определенной роли консоли или связи можно задать только одну конечную точку звука за раз. Тем не менее, начиная с Windows 10, можно выбрать другую конечную точку для этих ролей для разных приложений с помощью страницы настроек приложения и устройства.

Снимок экрана: страница параметров тома приложения и устройства в Windows 10.

Подсистемы аудиосистем Windows 7 и Windows 10 используют аналогичные алгоритмы, чтобы определить конечную точку звука по умолчанию, если не задано предпочтения пользователя. Однако алгоритм Windows 10 отличается от Windows 7 так, как он обрабатывает выбор пользователей по умолчанию и обрабатывает предпочтения каждого приложения.

В этом разделе описывается, как выбрана конечная точка звука по умолчанию в Windows 10. Чтобы лучше понять, что нового для Windows 10, также объясняется выбор конечной точки аудио по умолчанию в Windows 7.

Базовый алгоритм выбора конечной точки аудио по умолчанию

Подсистемы аудиосистем Windows 7 и Windows 10 используют аналогичный алгоритм для определения конечной точки звука по умолчанию. Алгоритм работает следующим образом:

  • Выполните цикл по всем конечным точкам ACTIVE, чтобы найти набор конечных точек в качестве предпочтительного по умолчанию для этого приложения (новый для Windows 10)
    • Если конечная точка определена, возвращается и процесс завершается.
  • Если конечная точка не определена, выполните цикл по всем конечным точкам ACTIVE, чтобы найти набор конечных точек в качестве предпочтительного по умолчанию для системы (выбор изменен для Windows 10).
    • Если конечная точка определена, возвращается и процесс завершается.
  • Если конечная точка не определена, выполните цикл по всем конечным точкам ACTIVE, чтобы найти конечную точку с самым высоким свойством "ранжирования" для запрошенной роли и не задать значение по умолчанию PKEY_AudioDevice_NeverSetAsDefaultEndpoint набор свойств. (значения весового ранжирования, измененные для Windows 10).
    • Если конечная точка определена, возвращается и процесс завершается.
  • Если конечная точка не определена, запрос завершается ошибкой, указывающей E_NOTFOUND.

Существует четыре состояния конечной точки: ACTIVE, UNPLUGGED, DISABLED и NOT PRESENT, которые определены в DEVICE_STATE_XXX константы. Звуковая подсистема рассматривает только активные конечные точки (в настоящем и включенном состоянии), когда она определяет конечную точку звука по умолчанию. Любые события, которые приводят к изменению состояния конечной точки или на состояние ACTIVE, могут повлиять на текущую конечную точку звука по умолчанию. К таким событиям относятся вставка звукового устройства, отмена отключения устройства и установка нового звукового устройства. В ответ на такие операции аудиосистема Windows запускает алгоритм эвристики конечной точки звука по умолчанию, чтобы определить новую конечную точку звука по умолчанию.

Свойство метки времени конечной точки в Windows 7

Свойство метки времени конечной точки — это ключ свойства, содержащий системное время. В Windows 7 свойство метки времени конечной точки создается или обновляется при установке в качестве конечной точки звука по умолчанию через приложение панель управления Sound.

Снимок экрана: выбор конечной точки звука по умолчанию в приложении панель управления Sound.

Свойство метки времени связано с каждой ролью, а свойство метки времени используется алгоритмом выбора по умолчанию для определения конечных точек, которые были заданы пользователем по умолчанию для этой роли. Алгоритм определяет конечную точку с новым свойством метки времени в качестве конечной точки по умолчанию.

Свойство Level в Windows 10

Свойство метки времени, используемое в Windows 7 для предпочтения пользователя по умолчанию, не позволяло автоматически выбирать только что подключенное устройство после первоначального выбора по умолчанию. Например, если пользователь задал внутренний динамик в качестве конечной точки по умолчанию в любое время в прошлом и более поздних подключенных новых USB-наушников, система никогда не будет переходить к USB-наушникам без выбора вручную.

Начиная с Windows 10 выбор по умолчанию по умолчанию создается как дерево, например структура прошлых предпочтений, которая учитывает, какие конечные точки были доступны во время выбора по умолчанию, выполняемого пользователем. Причиной этого является то, что когда пользователь выбирает конечную точку по умолчанию, они взаимодействуют со своими предпочтениями для этой конечной точки относительно того, что другие конечные точки были активными во время выбора. Пользователь не взаимодействует с абсолютным предпочтением выбранного устройства навсегда и во всех ситуациях.

Использование и создание свойства Timestamp было удалено из Windows 10, заменено свойством Level. Свойство уровня используется для создания древовидной структуры пользовательских предпочтений. Как и свойство метки времени, существует свойство уровня, связанное с каждой ролью. Свойство уровня создается или обновляется в любое время, когда пользователь выбирает конечную точку по умолчанию, хотя звуковая панель управления, страница параметров звука или звуковой элемент управления в области системы.

Алгоритм назначения по умолчанию работает следующим образом:

Если конечная точка выбрана в качестве значения по умолчанию, эта конечная точка перемещается в верхнюю часть структуры дерева, назначив ей самый высокий доступный уровень. Следующий уровень вниз в дереве будет содержать одну или несколько конечных точек, которые были выбраны в прошлом в качестве значения по умолчанию или были активными во время этого выбора, но никогда не были выбраны пользователем. Каждый последующий выбор приводит к нужной конечной точке в верхней части списка, переместив предыдущие выделенные фрагменты вниз и группируя активные, но пока не выбранные конечные точки вместе для создания условий привязки. Если все конечные точки в системе заданы как стандартные, результирующая структура становится простым упорядоченным списком с одной конечной точкой на каждом уровне.

Алгоритм определения по умолчанию работает следующим образом:

Во-первых, активные конечные точки без значения уровня сравниваются с конечной точкой с самым высоким рангом, выбранным по умолчанию. Таким образом, конечные точки, недавно добавленные, получают первую возможность быть значениями по умолчанию, так как они являются самыми новыми в системе и подключены после выбора пользователем предыдущего значения по умолчанию.

Затем, если все активные конечные точки содержат уровень, то конечная точка с самым высоким уровнем без привязки выбирается в качестве значения по умолчанию. Наличие самого высокого уровня указывает, что в какой-то момент в прошлом пользователь установил эту конечную точку в качестве значения по умолчанию, а другие конечные точки с более низким уровнем были активными.

Наконец, если все конечные точки содержат значение уровня, а конечные точки с самыми высокими значениями связаны, ранг конечной точки затем используется для разрыва связи. Это означает, что эти конечные точки были активными во время выбора по умолчанию, но не были выбраны. У нас нет признаков предпочтения пользователя между этими конечными точками, поэтому используется автоматизированная система ранжирования.

Стоит отметить, что с помощью этого нового алгоритма новая конечная точка получает повышенный вес для того, чтобы стать по умолчанию. Это означает, что поведение драйвера, которое приводит к возникновению новой в системе конечной точки звука, может активировать изменение по умолчанию.

Примеры поведения драйверов и событий, которые приводят к потере параметров пользователя на конечных точках аудио и будут отображаться "новые" в системе, потенциально вызывая изменение на устройстве по умолчанию:

  • Установка другого драйвера. Например, переключение между драйвером класса HDAudio и соответствующим сторонним драйвером для оборудования. Это ожидается и по проектированию, так как параметры пользователя и доступные конечные точки не считаются одинаковыми между двумя или более не связанными установками драйверов.
  • Удаление и переустановка драйвера. Удаление звукового драйвера приводит к удалению параметров пользователя, связанных с драйвером. Установка нового драйвера приведет к созданию новых конечных точек звука AudioEndpointBuilder. Это ожидаемое поведение и по проектированию, однако это поведение следует избежать автоматическими установщиками, когда это приведет к неожиданной потере параметров пользователя.
  • Любые изменения в строке ссылки фильтра конечной точки аудио или пин-коде. Конечные точки звука определяются ссылочной строкой, передаваемой в PnP при создании интерфейса KS, а также идентификатором пин-кода внешнего соединителя. Изменение этих значений приведет к созданию новой конечной точки звука. Эта новая конечная точка звука не будет содержать параметры пользователя, связанные с предыдущей строкой ссылки и идентификатором пин-кода соединителя. Ссылочные строки и идентификаторы пин-кода соединителя не должны изменяться для жизни установки драйвера, включая обновления драйверов.
  • HDMI или отображающее звуковое устройство, изменяющее тип терминала или идентификатор приемника. Ожидается, что тип терминала и идентификатор приемника изменяются при присоединении пользователя к системе другого дисплея, другой дисплей — это новая конечная точка с новыми параметрами пользователя, связанными с ним. Однако изменение этих значений при отсутствии соответствующего изменения в присоединенном дисплее будет рассматриваться как потеря параметров пользователя. Идентификатор приемника и тип терминала должны оставаться постоянными для подключенного дисплея.

Эвристическая конечная точка аудио windows 10 по умолчанию

Эвристика аудиоконечной точки Windows 10 по умолчанию для автоматического выбора конечной точки совпадает с эвристической версией Windows 7, при этом некоторые незначительные изменения в коэффициенте весовых значений, чтобы повысить удобство работы пользователей.

Эвристика выбора по умолчанию начинается с сбора сведений о конечной точке звука; факторы. Затем каждый фактор взвешен и результирующий весовые значения для всех факторов суммируются. Результирующая сумма называется рангом конечной точки. Значение ранжирования вычисляется для каждой роли для каждой конечной точки (консоли и связи).

Затем конечная точка с самым высоким рангом выбирается в качестве значения по умолчанию для запрошенной роли.

Эвристические факторы Windows 10

Звуковая подсистема Windows 10 рассматривает следующие характеристики конечной точки или факторы, чтобы выбрать конечную точку звука по умолчанию:

Windows 10 определяет набор значений перечисления для каждого поддерживаемого фактора конечной точки и сохраняет их в реестре. Подробные описания этих факторов и соответствующие наборы значений перечисления следуют.

Возможность обнаружения Джека

Конечная точка с этой возможностью подразумевает, что звуковые драйверы могут уведомлять звуковую подсистему, когда подключенное к конечной точке устройство аудио подключено или отключено. Звуковые конечные точки, поддерживающие возможности обнаружения джека, называются динамическими конечными точками, и те, которые не обеспечивают эту поддержку, называются статическими конечными точками. Для поддержки возможностей обнаружения джека драйверы аудиоустройств должны поддерживать свойство KSPROPERTY_JACK_DESCRIPTION2. Дополнительные сведения об этом свойстве см. в KSPROPERTY_JACK_DESCRIPTION2.

Значения перечисления возможностей обнаружения Джека
Поддерживается
NotSupported

Эвристика аудиоустройства Windows 10 по умолчанию обрабатывает все конечные точки usb-звука и конечные точки звука Bluetooth в качестве возможности обнаружения джека.

Форм-фактор

Форм-фактор конечной точки звука указывает физические атрибуты конечной точки звука, с которой взаимодействует пользователь, например наушники, динамики или S/PDIF. Чтобы определить форм-фактор конечной точки, звуковая подсистема использует встроенную логику для сопоставления категории пин-кода потоковой передачи ядра (KSNodeType), которая предоставляется драйвером звука с определенным форм-фактором. Дополнительные сведения см. в разделе EndpointFormFactor.

Значения перечисления форм-фактора конечной точки
RemoteNetworkDevice
Докладчики
LineLevel
Наушники
Микрофон
Headset
Телефон
UnknownDigitalPassthrough
SPDIF
DigitalAudioDisplayDevice
UnknownFormFactor

KSNodeType

Звуковой драйвер выбирает KSNodeType для закрепления KS на конечной точке, так как драйвер имеет подробные сведения об звуковом устройстве, которое может быть подключено к звуковому разъему. Таким образом, KsNodeType показывает более конкретные знания о конечной точке, чем его форм-фактор.

Значения перечисления KSNodeType
KSNODETYPE_SPEAKER
KSNODETYPE_MICROPHONE_ARRAY
KSNODETYPE_HEADPHONES

Дополнительные сведения о KsNodeType см. в разделе "Свойство категории pin".

Тип шины

Этот фактор представляет тип шины, из которого было перечислено звуковое устройство, предоставляющее конечные точки звука.

Значения перечисления типа шины
BTHENUM
BTHHFENUM
USB
HDAUDIO
PCI
Неизвестно

Звуковая подсистема предпочитает конечные точки определенного типа шины по сравнению с другими типами шин, когда все остальные характеристики конечных точек идентичны. Например, система обеспечивает приоритет наушников Bluetooth поверх наушников HD Audio, чтобы обеспечить лучший обмен данными для пользователя; то есть, когда конечный пользователь вводит устройство bluetooth наушников на этом компьютере, система делает его устройством по умолчанию.

Общее расположение

Общее расположение указывает физическое валовое расположение джека или устройства, к которому подключена конечная точка звука.

Общие значения перечисления расположения
PrimaryBox (на основном корпусе системы, доступном пользователю)
Внутренние (на материнской плате, недоступные без открытия коробки)
Отдельный (например, мобильный ящик)
Другие

Геометрическое расположение

Геометрическое расположение указывает геометрическое расположение джека или устройства, к которому подключена конечная точка звука.

Геометрические значения перечисления
eGeoLocRear
eGeoLocFront
eGeoLocLeft
eGeoLocRight
eGeoLocTop
eGeoLocBottom
eGeoLocRearOPanel
eGeoLocRiser

ПодтипSpecific

Конкретное свойство подтипа позволяет для будущих расширений эвристического значения, зависящее от свойства категории контактов конечной точки. Он позволяет использовать поддерживаемую или несоотдерживаемую возможность.

Значения перечисления подтиповSpecific
Поддерживается
NotSupported

В настоящее время единственное свойство подтипа связано с геометрией массива микрофонов. В контексте геометрии массива микрофонов "Поддерживаемый" означает геометрию передней или задней части. "NotSupported" указывает на некоторую другую геометрию. Если присутствует несколько массивов микрофонов, можно использовать предпочтение передней или задней геометрии.

Эвристические сведения о Windows 10

Эвристическая конечная точка аудио в Windows 10 по умолчанию весит каждый фактор конечной точки. Чем выше приоритет фактора, тем больше его вес. В этом разделе используется WeightFactor_Xxx для определения приоритета фактора.

Кроме того, эвристика Windows 10 назначает значение ранга (nRankXxx в этом разделе) каждому значению перечисления в категории факторов. Это значение ранжирования устанавливает относительную важность всех значений перечисления в одном факторе.

Эти значения WeightFactor_Xxx и nRankXxx хранятся в реестре Windows во время установки операционной системы. Набор параметров для вычисления ранга эвристики зависит от характеристик конечной точки. В следующей таблице показан пример набора параметров.

Вес коэффициента конечной точки Значение ранжирования коэффициента конечной точки
WeightFactor_JackDet nRankJackDet
WeightFactor_SubType nRankSubType
WeightFactor_FormFactor nRankFormFactor
WeightFactor_BusType nRankBusType
WeightFactor_GenLoc nRankGenLoc
WeightFactor_GeoLoc nRankGeoLoc
WeightFactor_SubtypeSpecific nRankSubtypeSpecific

Звуковая подсистема вычисляет взвешанный ранг конечной точки во всех его факторах, как показано ниже.

WeightedRankValue =

WeightFactor_JackDet * nRankJackDet +

WeightFactor_SubType * nRankSubType +

WeightFactor_FormFactor * nRankFormFactor +

WeightFactor_BusType * nRankBusType +

WeightFactor_GenLoc * nRankGenLoc +

WeightFactor_GeoLoc * nRankGeoLoc |

WeightFactor_SubtypeSpecific * nRankSubtypeSpecific.

Звуковая подсистема вычисляет взвешемое значение ранжирования для всех активных конечных точек и выбирает конечную точку с самым высоким рангом в качестве конечной точки аудио по умолчанию.

Механизм эвристики выбора конечной точки аудио по умолчанию для Windows 10 также поддерживает функцию исключения. Эта функция позволяет системе или изготовителю оборудования назначать конечную точку, которая соответствует определенному набору характеристик с очень высокими или очень низкими значениями ранжирования. Такие обозначения делают эвристика системы более гибкой, когда она имеет дело с непредвиденными сценариями.

Эвристики для роли консольного устройства и роли устройства связи разделяются, но механизм точно тот же, причем для факторов, основанных на ролях, отличается порядок.

Эвристическая Параметры Windows 10

Windows 10 поставляется с параметрами, основанными на эвристических деталях в этом разделе. Конечная точка аудио консоли по умолчанию и конечная точка связи по умолчанию имеют разные параметры. В этом разделе описаны параметры обоих типов конечных точек.

Эвристика папки "Входящие" Параметры для конечной точки аудио консоли по умолчанию

В этом разделе описываются параметры эвристики по умолчанию для каждого фактора для конечной точки аудио консоли. Факторы перечислены в порядке приоритета; То есть Windows 10 имеет наивысший приоритет для первого фактора в следующем списке, когда подсистема звука определяет конечную точку консоли по умолчанию.

Возможность обнаружения Джека

Конечные точки с возможностью обнаружения джека предоставляют наиболее актуальную информацию системе о том, физически подключено ли звуковое периферийное устройство к системе и когда оно подключено или отключено. Эта информация помогает создать лучший интерфейс для конечных пользователей, поэтому Windows 10 задает этот фактор как самый высокий приоритет. Конечная точка с возможностью обнаружения джека имеет более высокий приоритет, чем конечные точки без этой возможности, независимо от того, как сравниваются другие факторы.

Форм-фактор

Windows 10 использует другой порядок приоритета форм-фактора, чем Windows 7, значения были скорректированы на основе отзывов пользователей и исследований.

Windows 10 задает приоритет форм-фактора для конечных точек консоли отрисовки в следующем порядке приоритета:

  • Наушники и гарнитура
  • Докладчики
  • LineLevel
  • DigitalAudioDisplayDevice
  • S/PDIF
  • Что-либо другое (обрабатывается с тем же самым низким приоритетом; то есть with_nRankFormFactor_ равно нулю)

Windows 10 задает приоритет форм-фактора для конечных точек консоли записи в следующем порядке приоритета:

  • Headset
  • Микрофон
  • LineLevel
  • Что-либо другое (обрабатывается с тем же самым низким приоритетом; то есть с nRankFormFactor равно нулю)

Например, рассмотрим систему с тремя конечными точками отрисовки звуковой консоли:

  • Конечная точка статических наушников HD (наушники без возможности обнаружения джека).
  • Статическую конечную точку S/PDIF Out.
  • Конечная точка динамических динамиков (динамики с поддержкой обнаружения джека).

Звуковая подсистема использует эвристические системы Windows 10 и выбирает конечную точку динамических динамиков в качестве конечной точки аудиоконферентуры по умолчанию, даже если форм-фактор динамиков определяется ниже форм-фактора наушника. Конечная точка динамиков выбирается, так как она поддерживает обнаружение джека, которое имеет более высокий приоритет над форм-фактором, в то время как наушники не имеют этой возможности.

Если конечная точка динамических USB-наушников представлена в приведенном выше примере, подсистема звука Windows 7 выбирает эту конечную точку в качестве конечной точки отрисовки консоли по умолчанию. Этот выбор обусловлен тем, что форм-фактор наушников имеет более высокий приоритет, чем форм-фактор динамиков, когда оба устройства поддерживают обнаружение джека.

KSNodeType

Как упоминание ранее, KSNodeType предоставляет более подробную информацию, чем указано форм-фактором для звукового устройства, подключенного к конечной точке. Windows 10 определяет три микрофона связанных KSNodeTypes для дальнейшего приоритета конечных точек с форм-фактором микрофона, но другим KSNodeType. Они ранжируются в порядке приоритета следующим образом:

  • KSNODETYPE_PROCESSING_MICROPHONE_ARRAY
  • KSNODETYPE_MICROPHONE_ARRAY
  • KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
  • Что-либо другое (обработано с тем же самым низким приоритетом; то есть с nRankSubType равно нулю)

Например, рассмотрим систему с двумя конечными точками записи звука:

  • Встроенная статическое конечная точка массива микрофонов с KSNODETYPE_MICROPHONE_ARRAY.
  • Конечная точка статического микрофона с KSNODETYPE_MICROPHONE.

Если подсистема звука использует системную эвристика для выбора конечной точки аудиозаписи консоли по умолчанию, она выбирает конечную точку массива микрофонов. Выбран массив микрофона, так как обе конечные точки имеют одну и ту же возможность обнаружения джека и форм-фактор, приоритет массива микрофона KsNodeType превышает значение микрофона. То есть KSNODETYPE_MICROPHONE_ARRAY имеет приоритет выше, чем KSNODETYPE_MICROPHONE, который не указан и попадает в категорию "что-либо еще".

Дополнительные сведения о KsNodeType см. в разделе "Свойство категории pin".

Тип шины

Windows 10 ранжирует значения перечисления для типов шины конечных точек в следующем порядке приоритета: от самого высокого до низкого приоритета:

  • USB
  • HDAudio и UnknownBusType (обычно система SOC)
  • PCI
  • BTHENUM
  • BTHHFENUM
  • Другие (обрабатываются с тем же самым низким приоритетом; то есть с nRankBusType равным нулю)

Общее расположение

Windows 10 оценивает значения перечисления для общего расположения в следующем порядке приоритета от самого высокого до низкого приоритета:

  • PrimaryBox и Internal
  • Другие (обрабатываются с тем же самым низким приоритетом; то есть nRankGenLoc равно нулю)

Звуковые драйверы сообщают общие сведения о расположении конечных точек с помощью свойства KSPROPERTY_JACK_DESCRIPTION . Дополнительные сведения см. в разделе "Свойство описания Джека".

Геометрическое расположение

Windows 10 оценивает значения перечисления для геометрического расположения в следующем порядке приоритета от самого высокого до низкого приоритета:

  • Front и InsideMobileLid
  • Нижний, левый, внешнийMobileLid, задний, правый и верхний
  • Заднийpanel
  • Другие (обрабатываются с тем же самым низким приоритетом; то есть с nRankGeoLoc равно нулю)

Звуковые драйверы сообщают геометрические сведения о расположении конечных точек с помощью свойства KSPROPERTY_JACK_DESCRIPTION . Дополнительные сведения см. в разделе "Свойство описания Джека".

Исключения

Помимо предыдущих эвристических факторов, Windows 10 имеет 3 исключения для эвристики устройства консоли по умолчанию. В Windows 7 было только 1 исключение.

Первое исключение, присутствующих как в Windows 7, так и в 10, предотвращает выбор в качестве конечной точки консоли по умолчанию. В частности, звуковая подсистема переназначает результат WeightedRankValue для конечных точек, имеющих одно из следующих значений 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
  • Мобильные конечные точки аудио, которые существуют в мобильных сценариях

Второе исключение, представляющегося только в Windows 10, также предотвращает выбор конечных точек, ориентированных на связь, в качестве конечной точки консоли по умолчанию. В отличие от первого исключения, это исключение также учитывает тип шины. Причиной этого является то, что многие популярные USB-наушники используют следующие KSNodeTypes, даже если устройства не связаны с данными. Алгоритм ранжирования Windows 7 снизил эти KSNodeTypes для конечной точки консоли по умолчанию для всех типов шин. Для Windows 10 эти KSNodeTypes понижены только для типов не usb-шин.

  • KSNODETYPE_PERSONAL_MICROPHONE
  • KSNODETYPE_COMMUNICATION_SPEAKER
  • KSNODETYPE_HEADSET

Для третьего исключения явно вводятся предпочтения для "личных" конечных точек , таких как наушники и гарнитуры, которые физически подключены к системе с проводом. В некоторых примерах будут проводные USB-гарнитуры и проводные 3,5 мм наушники. В отличие от предыдущих 2 исключений, это исключение обновляет эти конечные точки, чтобы они были предпочтительнее для конечной точки консоли по умолчанию. Это исключение является новым для Windows 10 и предназначено для улучшения конфиденциальности пользователей, предпочитая конечные точки, которые только пользователь может слышать по громким конечным точкам говорящего, которые другие могут слышать.

Эвристическая Параметры папки "Входящие" для конечной точки аудио связи по умолчанию

В этом разделе описаны параметры эвристики по умолчанию каждого фактора для конечной точки аудио связи. Факторы перечислены в порядке приоритета; То есть Windows 10 имеет наивысший приоритет для первого фактора в следующем списке при вычислении конечной точки связи по умолчанию. Единственное различие между эвристиками конечных точек консоли по умолчанию и конечными точками связи по умолчанию является в параметрах форм-фактора и правиле исключений.

Возможность обнаружения Джека

Эвристические параметры обнаружения джека одинаковы как для конечных точек аудио связи по умолчанию, так и для конечных точек звука консоли по умолчанию.

Форм-фактор

Различные списки приоритетов создаются для устройств по умолчанию для отрисовки связи и записи устройств по умолчанию.

Приоритет форм-фактора для конечных точек записи по умолчанию по умолчанию в порядке приоритета (от высокого приоритета до наименьшего) выглядит следующим образом:

  • Headset
  • Телефон
  • Микрофон
  • LineLevel

Приоритет форм-фактора для конечных точек отображения по умолчанию по умолчанию в порядке приоритета (от высокого приоритета до наименьшего) выглядит следующим образом:

  • Headset
  • Телефон
  • Наушники
  • Докладчики
  • LineLevel
  • DigitalAudioDisplayDevice (HDMI или DisplayPort)
  • S/PDIF
  • Что-либо другое (обрабатывается с тем же самым низким приоритетом; то есть с nRankFormFactor равно нулю)

KSNodeType

Эвристические параметры KsNodeType одинаковы как для конечных точек аудио по умолчанию, так и для конечных точек звука консоли по умолчанию.

Тип шины

Эвристические параметры типа шины одинаковы как для конечных точек аудио связи по умолчанию, так и для конечных точек звука консоли по умолчанию.

Общее расположение

Windows 10 оценивает значения перечисления для общего расположения в следующем порядке приоритета от самого высокого до низкого приоритета:

  • Разделить
  • PrimaryBox
  • Внутренняя
  • Другие (обрабатываются с тем же самым низким приоритетом; то есть nRankGenLoc равно нулю)

Звуковые драйверы сообщают общие сведения о расположении конечных точек с помощью свойства KSPROPERTY_JACK_DESCRIPTION. Дополнительные сведения см. в разделе "Свойство описания Джека".

Геометрическое расположение

Windows 10 оценивает значения перечисления для геометрического расположения в следующем порядке приоритета от самого высокого до низкого приоритета:

  • Front и InsideMobileLid
  • Другие (обрабатываются с тем же самым низким приоритетом; то есть с nRankGeoLoc равно нулю)

Звуковые драйверы сообщают сведения о геометрическом расположении конечных точек с помощью свойства KSPROPERTY_JACK_DESCRIPTION. Дополнительные сведения см. в разделе "Свойство описания Джека".

Исключения

Помимо предыдущих эвристических факторов, Windows 10 также имеет три исключения, реализованные для эвристики устройств связи по умолчанию, в то время как Windows 7 только одна.

Первое исключение предпочитает очевидные конечные точки, ориентированные на обмен данными, такие как набор и динамик, для выбора в качестве конечной точки связи по умолчанию. В частности, звуковая подсистема обновляет результат WeightedRankValue для конечных точек с KSNodeType, который соответствует любому из следующих значений:

  • 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

Второе исключение позволяет избежать конечных точек, которые являются очевидными консольно-ориентированными конечными точками, которые недоступны для использования связи:

  • KSNODETYPE_SPEAKERS_STATIC_JACK
  • Специальные звуковые конечные точки, которые существуют только в мобильных сценариях, которые недоступны для связи аудио

Во время написания этой статьи третье исключение существует для предпочитания конечных точек сотового звука. Это исключение существует только для мобильных сценариев с возможностями сотовой связи и находится за пределами область этой документации. Так как этот тип конечной точки будет существовать только в мобильных системах, это исключение можно безопасно игнорировать.

См. также

Свойство Описания Джека

KSPROPERTY_JACK_DESCRIPTION2

KSPROPERTY_JACK_DESCRIPTION3

Закрепление свойства категории

SetupPreferredAudioDevices