Из документа API Microsoft: https://docs.microsoft.com/en-us/windows/win32/api/mmdeviceapi/ne-mmdeviceapi-erole
Перечисление ERole
typedef enum __MIDL___MIDL_itf_mmdeviceapi_0000_0000_0002 {
eConsole,
eMultimedia,
eCommunications,
ERole_enum_count
} ERole;
определяет список «ролей», которые конечные аудиоустройства выбирают для воспроизведения
Константы
- eConsole Игры, звуки системных уведомлений и голосовые команды.
- eMultimedia Музыка, фильмы, повествования и записи живой музыки.
- eCommunications Голосовая связь (общение с другим человеком).
- ERole_enum_count Количество членов в перечислении ERole (не считая члена ERole_enum_count).
Что я не получаю из документастраница:
- Если устройство установлено на
eConsole
, будет ли оно полностью исключено из обработки
Музыка, фильмы, повествование и запись живой музыки, а также
Голосовая связь (разговор с другим человеком)
?
Я не верю, что ответ - да, потому что низкоуровневое оборудование или операционная система не будут знать, является ли аудиопоток музыкой или речью без пометки пользователя.Так что же это тогда за * 1053?Конфигурация микширования звука, которая играет «хорошо» (субъективно и статистически) с целевыми типами контента?Задержка?или комбинация двух или более свойств?
ОБНОВЛЕНИЕ
Спасибо за ответ @Roman R.Теперь еще вопросы, соответствующие названию вопроса:
Документ из IMMDeviceEnumerator::GetDefaultAudioEndpoint
говорит:
HRESULT GetDefaultAudioEndpoint(
EDataFlow dataFlow,
ERole role,
IMMDevice **ppEndpoint
);
role
Роль устройства конечной точки.Вызывающий должен установить этот параметр на одно из следующих значений перечисления ERole:
eConsole
eMultimedia
eCommunications
поэтому может быть назначена только «ОДНА» роль;А поскольку ERole_enum_count
не является реальным вариантом, как в большинстве пользовательских протоколов enum, как можно было бы убедиться, что «all of the roles
» воспроизводится одним устройством, как указано в Роли устройств и ваша цитата наэта страница?