Metodo IAudioProcessingObject::IsInputFormatSupported (audioenginebaseapo.h)
Questo metodo negozia con il motore audio di Windows Vista per stabilire un formato di dati per il flusso di dati audio.
Sintassi
HRESULT IsInputFormatSupported(
[in, optional] IAudioMediaType *pOppositeFormat,
[in, optional] IAudioMediaType *pRequestedInputFormat,
[out, optional] IAudioMediaType **ppSupportedInputFormat
);
Parametri
[in, optional] pOppositeFormat
Puntatore a un'interfaccia IAudioMediaType . Questo parametro viene usato per indicare il formato di output dei dati. Il valore pOppositeFormat deve essere impostato su NULL per indicare che il formato di output può essere qualsiasi tipo.
[in, optional] pRequestedInputFormat
Puntatore a un'interfaccia IAudioMediaType . Questo parametro viene usato per indicare il formato di input da verificare.
[out, optional] ppSupportedInputFormat
Questo parametro indica il formato supportato più vicino al formato da verificare.
Valore restituito
Se la chiamata è stata completata correttamente, il parametro ppSupportedInputFormat restituisce un puntatore pRequestedInputFormat e il metodo IsInputFormatSupported restituisce un valore di S_OK. In caso contrario, questo metodo restituisce uno dei codici di errore seguenti:
Codice restituito | Descrizione |
---|---|
|
Il formato della coppia di formato input/output non è supportato. ppSupportedInputFormat restituisce un nuovo formato suggerito. |
|
Il formato da verificare non è supportato. Il valore di ppSupportedInputFormat non cambia. |
|
Puntatore non valido passato al metodo. Il valore di ppSupportedInputFormat non cambia. |
|
Queste condizioni di errore aggiuntive vengono rilevate dal motore audio. |
Commenti
Esistono differenze nell'implementazione del IsInputFormatSupported
metodo in base alle diverse API. Ad esempio, con determinate implementazioni, l'output può essere di tipo float solo quando il formato di input è di tipo integer.
Per avviare la negoziazione del formato, il servizio audio imposta prima l'output dell'sAPO LFX sul formato float32 predefinito. Il servizio audio chiama quindi il metodo di LFX sAPO, suggerisce il IAudioProcessingObject::IsInputFormatSupported
formato predefinito e monitora la risposta HRESULT di questo metodo. Se l'input dell'sAPO LFX può supportare il formato suggerito, restituisce S_OK, insieme a un riferimento al formato supportato. Se l'input dello sAPO LFX non può supportare il formato suggerito, restituisce S_FALSE insieme a un riferimento a un formato che corrisponde alla corrispondenza più vicina a quella suggerita. Se LFX sAPO non può supportare il formato suggerito e non ha una corrispondenza chiusa, restituisce APOERR_FORMAT_NOT_SUPPORTED. GFX sAPO funziona con il formato di output di LFX sAPO. Pertanto, L'SAPO di GFX non è coinvolto nel processo di negoziazione del formato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile con Windows Vista e i sistemi operativi Windows successivi. |
Piattaforma di destinazione | Universale |
Intestazione | audioenginebaseapo.h |
Libreria | Audioenginebaseapo.idl |
IRQL | Tutti i livelli |