Метод IAudioProcessingObject::IsInputFormatSupported (audioenginebaseapo.h)
Этот метод согласовывает с обработчиком звука Windows Vista, чтобы установить формат данных для потока звуковых данных.
Синтаксис
HRESULT IsInputFormatSupported(
[in, optional] IAudioMediaType *pOppositeFormat,
[in, optional] IAudioMediaType *pRequestedInputFormat,
[out, optional] IAudioMediaType **ppSupportedInputFormat
);
Параметры
[in, optional] pOppositeFormat
Указатель на интерфейс IAudioMediaType . Этот параметр используется для указания формата вывода данных. Значение pOppositeFormat должно иметь значение NULL , чтобы указать, что выходной формат может быть любого типа.
[in, optional] pRequestedInputFormat
Указатель на интерфейс IAudioMediaType . Этот параметр используется для указания формата входных данных, который требуется проверить.
[out, optional] ppSupportedInputFormat
Этот параметр указывает поддерживаемый формат, ближайший к формату для проверки.
Возвращаемое значение
Если вызов выполнен успешно, параметр ppSupportedInputFormat возвращает указатель pRequestedInputFormat, а метод IsInputFormatSupported возвращает значение S_OK. В противном случае этот метод возвращает один из следующих кодов ошибок:
Код возврата | Описание |
---|---|
|
Формат пары форматов входных и выходных данных не поддерживается. ppSupportedInputFormat возвращает предлагаемый новый формат. |
|
Формат проверки не поддерживается. Значение ppSupportedInputFormat не изменяется. |
|
Недопустимый указатель, передаваемый в метод . Значение ppSupportedInputFormat не изменяется. |
|
Эти дополнительные условия ошибок отслеживаются обработчиком звука. |
Комментарии
Существуют различия в реализации IsInputFormatSupported
метода различными API. Например, при определенных реализациях выходные данные могут иметь тип float, только если входной формат имеет целое число.
Чтобы инициировать согласование формата, аудиослужба сначала задает для выходных данных SAPO LFX формат по умолчанию на основе float32. Затем аудиослужба IAudioProcessingObject::IsInputFormatSupported
вызывает метод SAPO LFX, предлагает формат по умолчанию и отслеживает ответ HRESULT этого метода. Если входные данные SAPO LFX могут поддерживать предлагаемый формат, он возвращает S_OK вместе со ссылкой на поддерживаемый формат. Если входные данные LFX sAPO не поддерживают предлагаемый формат, он возвращает S_FALSE вместе со ссылкой на формат, который ближе всего соответствует предложенному. Если SAPO LFX не поддерживает предлагаемый формат и не имеет близкого совпадения, она возвращает APOERR_FORMAT_NOT_SUPPORTED. SAPO GFX работает с форматом выходных данных SAPO LFX. Таким образом, SAPO GFX не участвует в процессе переговоров по формату.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в операционных системах Windows Vista и более поздних версий. |
Целевая платформа | Универсальное |
Верхняя часть | audioenginebaseapo.h |
Библиотека | Audioenginebaseapo.idl |
IRQL | Все уровни |