Méthode IAudioProcessingObject ::IsInputFormatSupported (audioenginebaseapo.h)
Cette méthode négocie avec le moteur audio Windows Vista pour établir un format de données pour le flux de données audio.
Syntaxe
HRESULT IsInputFormatSupported(
[in, optional] IAudioMediaType *pOppositeFormat,
[in, optional] IAudioMediaType *pRequestedInputFormat,
[out, optional] IAudioMediaType **ppSupportedInputFormat
);
Paramètres
[in, optional] pOppositeFormat
Pointeur vers une interface IAudioMediaType . Ce paramètre est utilisé pour indiquer le format de sortie des données. La valeur de pOppositeFormat doit être définie sur NULL pour indiquer que le format de sortie peut être n’importe quel type.
[in, optional] pRequestedInputFormat
Pointeur vers une interface IAudioMediaType . Ce paramètre est utilisé pour indiquer le format d’entrée à vérifier.
[out, optional] ppSupportedInputFormat
Ce paramètre indique le format pris en charge le plus proche du format à vérifier.
Valeur retournée
Si l’appel s’est terminé correctement, le paramètre ppSupportedInputFormat renvoie un pointeur pRequestedInputFormat et la méthode IsInputFormatSupported retourne une valeur de S_OK. Sinon, cette méthode retourne l’un des codes d’erreur suivants :
Code de retour | Description |
---|---|
|
Le format de la paire de format d’entrée/sortie n’est pas pris en charge. ppSupportedInputFormat renvoie un nouveau format suggéré. |
|
Le format à vérifier n’est pas pris en charge. La valeur de ppSupportedInputFormat ne change pas. |
|
Pointeur non valide passé à la méthode . La valeur de ppSupportedInputFormat ne change pas. |
|
Ces conditions d’erreur supplémentaires sont suivies par le moteur audio. |
Remarques
Il existe des différences dans l’implémentation de la IsInputFormatSupported
méthode par les différentes API. Par exemple, avec certaines implémentations, la sortie ne peut être de type float que lorsque le format d’entrée est de type entier.
Pour lancer la négociation de format, le service audio définit d’abord la sortie de l’objet SAPO LFX sur le format float32 par défaut. Le service audio appelle ensuite la IAudioProcessingObject::IsInputFormatSupported
méthode du sAPO LFX, suggère le format par défaut et surveille la réponse HRESULT de cette méthode. Si l’entrée de l’objet SAPO LFX peut prendre en charge le format suggéré, elle retourne S_OK, ainsi qu’une référence au format pris en charge. Si l’entrée de l’objet SAPO LFX ne peut pas prendre en charge le format suggéré, elle retourne S_FALSE avec une référence à un format qui correspond le plus à celui suggéré. Si l’objet SAPO LFX ne peut pas prendre en charge le format suggéré et n’a pas de correspondance étroite, il retourne APOERR_FORMAT_NOT_SUPPORTED. L’objet SAPO GFX fonctionne avec le format de sortie de l’objet SAPO LFX. Par conséquent, l’objet sAPO GFX n’est pas impliqué dans le processus de négociation de format.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible avec les systèmes d’exploitation Windows Vista et ultérieurs. |
Plateforme cible | Universal |
En-tête | audioenginebaseapo.h |
Bibliothèque | Audioenginebaseapo.idl |
IRQL | Tous les niveaux |