| Предыдущий | Следующий |
| NS_E_WMP_CODEC_NEEDED_WITH_4CC | NS_E_WMP_MSSAP_NOT_AVAILABLE |
NS_E_WMP_CODEC_NEEDED_WITH_FORMATTAG
Точка в workflow
Практический смысл NS_E_WMP_CODEC_NEEDED_WITH_FORMATTAG (0XC00D11A2): для аудио WAVE format tag не найден подходящий установленный декодер. В трассировке отделяйте маркер «codec needed with formattag» от последующих wrapper/UI ошибок: они могут появиться уже после первичной границы и не объясняют исходное состояние.
Диагностический пакет
До повторной попытки запишите Player/API call, активный media object и состояние декодера/библиотеки. Для условия «для аудио WAVE format tag не найден подходящий установленный декодер» эти данные важнее общего текста сообщения, потому что позволяют связать результат с конкретным владельцем операции.
- FourCC или WAVE format tag и фактический media subtype.
- список реально доступных decoder/codec components.
- тот же media sample в известном рабочем декодере.
| Наблюдение | Что оно означает |
|---|---|
| Первый вызов возвращает NS_E_WMP_CODEC_NEEDED_WITH_FORMATTAG | Граница «для аудио WAVE format tag не найден подходящий установленный декодер» относится к текущему объекту и generation; сохраните это состояние до cleanup. |
| После одного целевого изменения код исчезает | Связь с условием «для аудио WAVE format tag не найден подходящий установленный декодер» подтверждается только если остальные входы и owning context не изменились. |
| Первым становится другой HRESULT | Считайте его новой первичной границей; маркер «codec needed with formattag» больше не должен подменять причину следующего отказа. |
Специфическая проверка для этого кода
Сохраните числовой WAVE format tag, channel count, sample rate и extra format bytes. Сопоставляйте tag с аудиодекодером, а не с расширением файла или FourCC видеопотока. Контрольный sample должен сохранять тот же audio format block. Если video stream декодируется, а сбой остаётся на audio media type negotiation, это отделяет данный HRESULT от варианта с FourCC.
Контрольный запуск
Контрольный запуск должен воспроизводить «для аудио WAVE format tag не найден подходящий установленный декодер» на тех же исходных данных. Затем исправьте конкретный file/codec/device/library precondition и заново создайте соответствующий media object. Если операция проходит прежнюю стадию, гипотеза локализована; если нет — вернитесь к первому HRESULT и сохранённым полям.
- Зафиксируйте первый
NS_E_WMP_CODEC_NEEDED_WITH_FORMATTAGи объект, которому принадлежит маркер «codec needed with formattag». - Сохраните входные данные и lifecycle-state до изменения условия «для аудио WAVE format tag не найден подходящий установленный декодер».
- Измените только состояние, связанное с «для аудио WAVE format tag не найден подходящий установленный декодер», и выполните тот же вызов ещё раз.
Завершение проверки
Не переустанавливайте Player и не перекодируйте единственную копию файла до фиксации исходного media state. Исправление считается реальным, когда прежняя граница «для аудио WAVE format tag не найден подходящий установленный декодер» пройдена на сопоставимом входе, а не просто скрыта более общим сообщением.
Документация
- Supported protocols and file types.
- Using Windows Media in DirectShow.
- Working with codecs.
- DirectShow filters.
- Microsoft HRESULT registry.
Нужно найти другой код? Найти другой код состояния или ошибки.