Compartilhar via


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

Esse método negocia com o mecanismo de áudio do Windows Vista para estabelecer um formato de dados para o fluxo de dados de áudio.

Sintaxe

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

Parâmetros

[in, optional] pOppositeFormat

Um ponteiro para uma interface IAudioMediaType . Esse parâmetro é usado para indicar o formato de saída dos dados. O valor de pOppositeFormat deve ser definido como NULL para indicar que o formato de saída pode ser qualquer tipo.

[in, optional] pRequestedInputFormat

Um ponteiro para uma interface IAudioMediaType . Esse parâmetro é usado para indicar o formato de entrada que deve ser verificado.

[out, optional] ppSupportedInputFormat

Esse parâmetro indica o formato com suporte mais próximo do formato a ser verificado.

Retornar valor

Se a chamada for concluída com êxito, o parâmetro ppSupportedInputFormat retornará um ponteiro pRequestedInputFormat e o método IsInputFormatSupported retornará um valor de S_OK. Caso contrário, esse método retornará um dos seguintes códigos de erro:

Código de retorno Descrição
S_FALSE
Não há suporte para o formato do par de formato de entrada/saída. ppSupportedInputFormat retorna um novo formato sugerido.
APOERR_FORMAT_NOT_SUPPORTED
Não há suporte para o formato a ser verificado. O valor de ppSupportedInputFormat não é alterado.
E_POINTER
Ponteiro inválido que é passado para o método . O valor de ppSupportedInputFormat não é alterado.
Outros valores HRESULT
Essas condições de erro adicionais são controladas pelo mecanismo de áudio.

Comentários

Há diferenças na implementação do IsInputFormatSupported método pelas diferentes APOs. Por exemplo, com determinadas implementações, a saída só pode ser do tipo float quando o formato de entrada é do tipo inteiro.

Para iniciar a negociação de formato, o serviço de áudio primeiro define a saída do sAPO LFX para o formato padrão baseado em float32. Em seguida, o serviço de áudio chama o IAudioProcessingObject::IsInputFormatSupported método do LFX sAPO, sugere o formato padrão e monitora a resposta HRESULT desse método. Se a entrada do sAPO LFX puder dar suporte ao formato sugerido, ela retornará S_OK, juntamente com uma referência ao formato com suporte. Se a entrada do LFX sAPO não puder dar suporte ao formato sugerido, ela retornará S_FALSE junto com uma referência a um formato que seja a correspondência mais próxima da sugerida. Se o LFX sAPO não puder dar suporte ao formato sugerido e não tiver uma correspondência próxima, ele retornará APOERR_FORMAT_NOT_SUPPORTED. O sAPO GFX funciona com o formato de saída do sAPO LFX. Portanto, o sAPO do GFX não está envolvido no processo de negociação de formato.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível com o Windows Vista e sistemas operacionais Windows posteriores.
Plataforma de Destino Universal
Cabeçalho audioenginebaseapo.h
Biblioteca Audioenginebaseapo.idl
IRQL Todos os níveis