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 |
---|---|
|
duckNotification es NULL. |
|
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de