Compartir a través de


Método IAudioProcessingObject::IsInputFormatSupported (audioenginebaseapo.h)

Este método negocia con el motor de audio de Windows Vista para establecer un formato de datos para la secuencia de datos de audio.

Sintaxis

HRESULT IsInputFormatSupported(
  [in, optional]  IAudioMediaType *pOppositeFormat,
  [in, optional]  IAudioMediaType *pRequestedInputFormat,
  [out, optional] IAudioMediaType **ppSupportedInputFormat
);

Parámetros

[in, optional] pOppositeFormat

Puntero a una interfaz IAudioMediaType . Este parámetro se usa para indicar el formato de salida de los datos. El valor de pOppositeFormat debe establecerse en NULL para indicar que el formato de salida puede ser cualquier tipo.

[in, optional] pRequestedInputFormat

Puntero a una interfaz IAudioMediaType . Este parámetro se usa para indicar el formato de entrada que se va a comprobar.

[out, optional] ppSupportedInputFormat

Este parámetro indica el formato admitido más cercano al formato que se va a comprobar.

Valor devuelto

Si la llamada se completó correctamente, el parámetro ppSupportedInputFormat devuelve un puntero pRequestedInputFormat y el método IsInputFormatSupported devuelve un valor de S_OK. De lo contrario, este método devuelve uno de los siguientes códigos de error:

Código devuelto Descripción
S_FALSE
No se admite el formato del par de formato de entrada/salida. ppSupportedInputFormat devuelve un nuevo formato sugerido.
APOERR_FORMAT_NOT_SUPPORTED
No se admite el formato que se va a comprobar. El valor de ppSupportedInputFormat no cambia.
E_POINTER
Puntero no válido que se pasa al método . El valor de ppSupportedInputFormat no cambia.
Otros valores HRESULT
El motor de audio realiza el seguimiento de estas condiciones de error adicionales.

Comentarios

Existen diferencias en la implementación del IsInputFormatSupported método por las distintas API. Por ejemplo, con determinadas implementaciones, la salida solo puede ser de tipo float cuando el formato de entrada es de tipo entero.

Para iniciar la negociación de formato, el servicio de audio establece primero la salida de LFX sAPO en el formato predeterminado basado en float32. A continuación, el servicio de audio llama al IAudioProcessingObject::IsInputFormatSupported método del SAPO de LFX, sugiere el formato predeterminado y supervisa la respuesta HRESULT de este método. Si la entrada del SAPO de LFX puede admitir el formato sugerido, devuelve S_OK, junto con una referencia al formato admitido. Si la entrada del sAPO de LFX no admite el formato sugerido, devuelve S_FALSE junto con una referencia a un formato que sea la coincidencia más cercana a la sugerida. Si el SAPO de LFX no admite el formato sugerido y no tiene una coincidencia cercana, devuelve APOERR_FORMAT_NOT_SUPPORTED. El sAPO de GFX funciona con el formato de salida de LFX sAPO. Por lo tanto, el sAPO de GFX no está implicado en el proceso de negociación de formato.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible con Windows Vista y sistemas operativos Windows posteriores.
Plataforma de destino Universal
Encabezado audioenginebaseapo.h
Library Audioenginebaseapo.idl
IRQL Todos los niveles