| Предыдущий | Следующий |
| NS_E_AUDIODEVICE_UNEXPECTED | NS_E_VIDEODEVICE_BUSY |
NS_E_AUDIODEVICE_BADFORMAT
Где Encoder формирует этот результат
0xC00D1B63 (NS_E_AUDIODEVICE_BADFORMAT) обозначает согласование запрошенной структуры WAVEFORMATEX с устройством аудиозахвата. Важной диагностической границей является объект Encoder, проверяющий это состояние; более позднее диалоговое окно «не удалось начать кодирование» может скрыть точный источник.
Для живого аудиовхода подключаемый модуль источника должен открыть выбранную конечную точку и согласовать поток, совместимый с WAVEFORMATEX, прежде чем группа источников сможет быть подготовлена в сеансе, возвращающем этот результат. Владение устройством и поддержка формата являются независимыми проверками в контрольной точке неподдерживаемый формат аудиоустройства.
Что уже завершилось успешно
Устройство, видимое в интерфейсе Encoder, всё ещё может отклонить запрошенный формат или быть монопольно занято другим процессом при построении графа кодирования в сеансе, возвращающем этот результат. В типичном случае неподдерживаемый формат аудиоустройства от монофонической телефонной конечной точки запрашивается стерео PCM 48 кГц. Наблюдение он следует проверять на объекте, сформировавшем ошибку, а не считать общим сбоем кодека или операционной системы.
Снимок состояния для сохранения
| Поле | Что сохранить |
|---|---|
| Решающие значения | тег формата, число каналов, частота дискретизации, разрядность, выравнивание блока и форматы, заявленные устройством |
| Объект, вернувший ошибку | моникер и понятное имя устройства, процесс, удерживающий конечную точку, тег WAVEFORMATEX, число каналов, число выборок в секунду, разрядность, выравнивание блока и HRESULT подключаемого модуля источника |
| Связь с сеансом | то же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, которые привели к этому результату |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или кодека, полученный до того, как Encoder сопоставил условие с этим результатом |
| Контролируемое сравнение | заведомо рабочий сеанс, в котором изменён только параметр, указанный границей неподдерживаемый формат аудиоустройства |
Как интерпретировать следующее наблюдение
| Наблюдение | Как его интерпретировать |
|---|---|
| Наблюдение подтверждает он | Решающими данными являются тег формата, число каналов, частота дискретизации, разрядность, выравнивание блока и форматы, заявленные устройством. Они подтверждают согласование запрошенной структуры WAVEFORMATEX с устройством аудиозахвата в том же поколении объекта. |
| Наблюдение указывает на более ранний сбой | Зафиксированные значения удовлетворяют правилу неподдерживаемый формат аудиоустройства, но источник, драйвер, активация COM или файловая операция раньше возвращает другой HRESULT. |
| Наблюдение указывает на более поздний сбой | Encoder проходит эту границу — согласование запрошенной структуры WAVEFORMATEX с устройством аудиозахвата, — но затем на следующей стадии происходит сбой кодека, архива или приёмника трансляции. |
| Проверка после исправления | Внесите одно изолированное изменение: выберите формат, заявленный конечной точкой, либо добавьте перед Encoder поддерживаемую стадию преобразования. После этого исходный вызов неподдерживаемый формат аудиоустройства должен пройти ту же контрольную точку. |
Практическое влияние он ограничено переходом согласования устройства аудиозахвата, которому принадлежит согласование запрошенной структуры WAVEFORMATEX с устройством. Само по себе он не доказывает, что повреждены все входные данные, отсутствуют все кодеки или полностью неработоспособна установка Windows Media. В типичном случае, когда от монофонической телефонной конечной точки запрашивается стерео PCM 48 кГц, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные неподдерживаемый формат аудиоустройства.
Близкие HRESULT с другим смыслом
| Результат | Почему это другая граница |
|---|---|
NS_E_AUDIODEVICE_UNEXPECTED | инициализация аудиозахвата после обнаружения устройства вне распознанной ошибки занятости или отклонения формата |
NS_E_NO_AUDIODATA | сторожевой контроль обнаруживает, что открытый аудиоисточник перестал выдавать образцы |
NS_E_AUDIODEVICE_BUSY | монопольное открытие выбранной конечной точки аудиозахвата |
Исправление на правильном уровне
Целевое исправление состоит в выборе формата, заявленного конечной точкой, либо добавлении перед Encoder поддерживаемой стадии преобразования. Повтор имеет смысл только после изменения зафиксированного предварительного условия неподдерживаемый формат аудиоустройства.
Не меняйте одновременно аудиодрайвер, частоту дискретизации и подключаемый модуль источника; сначала сохраните точную структуру WAVEFORMATEX и первый HRESULT открытия или согласования в сеансе, возвращающем он.
Технические ссылки
- Получение настроенного входа кодировщика.
- Структура WAVEFORMATEX.
- Подготовка группы источников к кодированию.
- WMEncoder.Start.
Нужно найти другой код? Найти другой код состояния или ошибки.