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 |
---|---|
|
No se admite el formato del par de formato de entrada/salida. ppSupportedInputFormat devuelve un nuevo formato sugerido. |
|
No se admite el formato que se va a comprobar. El valor de ppSupportedInputFormat no cambia. |
|
Puntero no válido que se pasa al método . El valor de ppSupportedInputFormat no cambia. |
|
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 |