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 |
---|---|
|
duckNotification a la valeur NULL. |
|
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 |