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

El método RegisterDuckNotification registra la aplicación con el administrador de sesiones para recibir notificaciones de pato.

Sintaxis

HRESULT RegisterDuckNotification(
  LPCWSTR                      sessionID,
  IAudioVolumeDuckNotification *duckNotification
);

Parámetros

sessionID

Puntero a una cadena terminada en null que contiene un identificador de instancia de sesión. Las aplicaciones que están reproduciendo un flujo multimedia y quieren proporcionar un comportamiento personalizado de atenuación o de pato de flujo, pasan su propio identificador de instancia de sesión. Para obtener más información, vea la sección Comentarios.

Otras aplicaciones que no quieren modificar sus secuencias, pero que quieren obtener todas las notificaciones de pato deben pasar NULL.

duckNotification

Puntero a la implementación de la aplicación de la interfaz IAudioVolumeDuckNotification . Se llama a la implementación cuando el sistema de audio genera eventos de pato y las notificaciones se envían a las aplicaciones registradas.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, entre otros, los valores que se muestran en la tabla siguiente.

Valor devuelto Descripción
E_POINTER
duckNotification es NULL.
E_OUTOFMEMORY
No se pudo crear el objeto interno debido a memoria insuficiente.

Comentarios

Stream atenuación o pato es una nueva característica de Windows 7. Una aplicación que reproduce una secuencia multimedia puede hacer que la secuencia se comporte de forma diferente cuando se abre una nueva secuencia de comunicación en el dispositivo de comunicación predeterminado. Por ejemplo, la secuencia multimedia original se puede pausar mientras está abierta la nueva secuencia de comunicación. Para proporcionar esta implementación personalizada para la atenuación de flujos, la aplicación puede optar por no participar en la experiencia de atenuación de flujos predeterminada llamando a IAudioSessionControl::SetDuckingPreference y, a continuación, registrarse para recibir notificaciones cuando se produzcan eventos de sesión. En el caso de la atenuación de flujo, el sistema genera un evento de sesión cuando se abre o cierra una secuencia de comunicación en el dispositivo de comunicación predeterminado. Para obtener más información sobre esta característica, vea Getting Ducking Events.

Para empezar a recibir notificaciones, la aplicación llama al método RegisterDuckNotification para registrar su interfaz IAudioVolumeDuckNotification con el administrador de sesiones. Cuando la aplicación ya no requiere notificaciones, llama al método IAudioSessionManager2::UnregisterDuckNotification para eliminar el registro.

La aplicación recibe notificaciones sobre los eventos de pato a través de los métodos de la interfaz IAudioVolumeDuckNotification . La aplicación implementa IAudioVolumeDuckNotification. Después de que la llamada de registro se haya realizado correctamente, el sistema llama a los métodos de esta interfaz cuando se producen eventos de sesión.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado audiopolicy.h

Consulte también

IAudioSessionManager2

Uso de un dispositivo de comunicación