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 |
---|---|
|
Não há suporte para o formato do par de formato de entrada/saída. ppSupportedInputFormat retorna um novo formato sugerido. |
|
Não há suporte para o formato a ser verificado. O valor de ppSupportedInputFormat não é alterado. |
|
Ponteiro inválido que é passado para o método . O valor de ppSupportedInputFormat não é alterado. |
|
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 |