Partager via


Méthode IAudioSessionManager2 ::RegisterDuckNotification (audiopolicy.h)

La méthode RegisterDuckNotification inscrit l’application auprès du gestionnaire de session pour recevoir des notifications d’ardeur.

Syntaxe

HRESULT RegisterDuckNotification(
  LPCWSTR                      sessionID,
  IAudioVolumeDuckNotification *duckNotification
);

Paramètres

sessionID

Pointeur vers une chaîne terminée par null qui contient un identificateur de instance de session. Les applications qui jouent un flux multimédia et qui souhaitent fournir un comportement d’atténuation ou de canardage de flux personnalisé, passent leur propre identificateur de instance session. Pour plus d'informations, consultez la section Notes.

Les autres applications qui ne veulent pas modifier leurs flux, mais qui souhaitent obtenir toutes les notifications de canardage doivent passer null.

duckNotification

Pointeur vers l’implémentation de l’application de l’interface IAudioVolumeDuckNotification . L’implémentation est appelée lorsque les événements de canardage sont déclenchés par le système audio et que des notifications sont envoyées aux applications inscrites.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Valeur retournée Description
E_POINTER
duckNotification a la valeur NULL.
E_OUTOFMEMORY
Impossible de créer l’objet interne en raison d’une mémoire insuffisante.

Remarques

Stream atténuation ou canardage est une nouvelle fonctionnalité de Windows 7. Une application qui lit un flux multimédia peut faire en sorte que le flux se comporte différemment lorsqu’un nouveau flux de communication est ouvert sur l’appareil de communication par défaut. Par exemple, le flux multimédia d’origine peut être suspendu pendant que le nouveau flux de communication est ouvert. Pour fournir cette implémentation personnalisée pour l’atténuation de flux, l’application peut refuser l’expérience d’atténuation de flux par défaut en appelant IAudioSessionControl ::SetDuckingPreference , puis en s’inscrivant pour recevoir des notifications lorsque des événements de session se produisent. Pour l’atténuation de flux, un événement de session est déclenché par le système lorsqu’un flux de communication est ouvert ou fermé sur l’appareil de communication par défaut. Pour plus d’informations sur cette fonctionnalité, consultez Getting Ducking Events.

Pour commencer à recevoir des notifications, l’application appelle la méthode RegisterDuckNotification pour inscrire son interface IAudioVolumeDuckNotification auprès du gestionnaire de sessions. Lorsque l’application n’a plus besoin de notifications, elle appelle la méthode IAudioSessionManager2 ::UnregisterDuckNotification pour supprimer l’inscription.

L’application reçoit des notifications sur les événements de canardage via les méthodes de l’interface IAudioVolumeDuckNotification . L’application implémente IAudioVolumeDuckNotification. Une fois l’appel d’inscription réussi, le système appelle les méthodes de cette interface lorsque des événements de session se produisent.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête audiopolicy.h

Voir aussi

IAudioSessionManager2

Utilisation d’un appareil de communication