Cursos
Módulo
Activación del audio espacial para la aplicación HoloLens 2 - Training
Activación del audio espacial para la aplicación HoloLens 2
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Hay muchas formas de usar sonido para mejorar tu aplicación. Puedes usar sonido para complementar otros elementos de la interfaz de usuario, lo que permite a los usuarios reconocer eventos de forma audible. El sonido puede ser un elemento de la interfaz de usuario eficaz para personas con discapacidades visuales. Puedes usar sonido para crear una atmósfera envolvente para el usuario; por ejemplo, puedes reproducir una banda sonora divertida en segundo plano en un juego de rompecabezas o usar efectos de sonido inquietantes para un juego de miedo o supervivencia.
WinUI 2 Gallery | |
---|---|
![]() |
Si tiene instalada la aplicación Galería de WinUI 2, haga clic aquí paraabrir la aplicación y ver Sonido en acción. |
La plataforma UWP proporciona un sistema de sonido fácilmente accesible que permite simplemente "invertir un cambio" y obtener una experiencia de sonido envolvente en toda la aplicación.
ElementSoundPlayer es un sistema de sonido integrado dentro de XAML y, cuando está activado en todos los controles predeterminados, se reproducen sonidos automáticamente.
ElementSoundPlayer.State = ElementSoundPlayerState.On;
ElementSoundPlayer tiene tres estados diferentes: On Off y Auto.
Si se establece en Off, independientemente de dónde se ejecute la aplicación, el sonido no se reproducirá nunca. Si se establece en On, los sonidos de tu aplicación se reproducirán en todas las plataformas.
Al habilitar ElementSoundPlayer, se habilitará también automáticamente el audio espacial (sonido 3D). Para deshabilitar el sonido 3D (y seguir manteniendo el sonido activado), deshabilita SpatialAudioMode del elemento ElementSoundPlayer:
ElementSoundPlayer.SpatialAudioMode = ElementSpatialAudioMode.Off
La propiedad SpatialAudioMode puede aceptar estos valores:
Para obtener más información acerca del audio espacial y de cómo XAML lo controla, consulta AudioGraph: audio espacial.
El sonido es una parte fundamental de la experiencia en pantalla de TV y, de manera predeterminada, el estado de ElementSoundPlayer es Auto, lo que significa que solo obtendrás sonido cuando la aplicación se ejecute en Xbox. ConsultaDiseño para Xbox y TV para más detalles.
Todos los sonidos de la aplicación se pueden atenuar con el control Volumen. Sin embargo, los sonidos de la aplicación no se pueden reproducir a un volumen más alto que el volumen del sistema.
Para establecer el nivel del volumen de la aplicación, llama a:
ElementSoundPlayer.Volume = 0.5;
Donde el volumen máximo (en relación con el volumen del sistema) es 1.0 y el mínimo es 0.0 (esencialmente silencioso).
Si no se desea el sonido predeterminado de un control, se puede deshabilitar. Para ello, se utiliza la propiedad ElementSoundMode en el control.
El ElementSoundMode tiene dos estados: Off y Predeterminado. Cuando no se establece, es Default. Si se establece en Off, cada sonido que reproduzca el control se silenciará excepto para el foco.
<Button Name="ButtonName" Content="More Info" ElementSoundMode="Off"/>
ButtonName.ElementSoundState = ElementSoundMode.Off;
Al crear un control personalizado o cambiar el sonido de un control existente, es importante comprender los usos de todos los sonidos que proporciona el sistema.
Cada sonido se relaciona con una determinada interacción de usuario básica y, aunque los sonidos se pueden personalizar para reproducirse en cualquier interacción, esta sección sirve para ilustrar los escenarios en los que se deberían usar sonidos para mantener una experiencia coherente en todas las aplicaciones para UWP.
Actualmente, el sonido desencadenado por control más común en nuestro sistema es el sonido Invoke. Este sonido se reproduce cuando un usuario invoca un control a través de una pulsación, un clic, una entrada o un espacio o si presiona el botón "A" en un controlador para juegos.
Por lo general, este sonido solo se reproduce cuando un usuario selecciona explícitamente un control simple o una parte del control a través de un dispositivo de entrada.
Para reproducir este sonido desde cualquier evento de control, solo tienes que llamar al método Play desde ElementSoundPlayer y pasar ElementSound.Invoke:
ElementSoundPlayer.Play(ElementSoundKind.Invoke);
Hay muchos controles flotantes, cuadros de diálogo e interfaces de usuario descartables en XAML y, cualquier acción que desencadene una de estas superposiciones, debe llamar a un sonido Show o Hide.
Cuando una ventana de contenido de superposición se incluye en la vista, se debe llamar al sonido Show:
ElementSoundPlayer.Play(ElementSoundKind.Show);
Por el contrario, cuando se cierra una ventana de contenido de superposición (o se cierra el elemento por cambio de foco), se debe llamar al sonido Hide:
ElementSoundPlayer.Play(ElementSoundKind.Hide);
Cuando se navega entre paneles o vistas en la página de una aplicación (consulta NavigationView), normalmente hay un movimiento bidireccional. Esto significa que puedes pasar al siguiente panel o vista, o bien al anterior, sin salir de la página actual de la aplicación en la que te encuentras.
La experiencia de sonido con relación a este concepto de navegación está incluida en los sonidos MovePrevious y MoveNext.
Al pasar a una vista o un panel que se considere el siguiente elemento de una lista, llama a:
ElementSoundPlayer.Play(ElementSoundKind.MoveNext);
Y al pasar a una vista o un panel anterior de una lista que se considere el elemento anterior, llama a:
ElementSoundPlayer.Play(ElementSoundKind.MovePrevious);
Al navegar de la página actual a la anterior dentro de una aplicación, se debe llamar al sonido GoBack:
ElementSoundPlayer.Play(ElementSoundKind.GoBack);
El sonido Focus es el único sonido implícito en nuestro sistema. Esto significa que, aunque un usuario no interactúe directamente con nada, seguirá escuchando un sonido.
El enfoque se produce cuando un usuario navega a través de una aplicación, bien con el controlador para juegos, el teclado, el control remoto o el Kinect. Normalmente, el sonido de Focono se reproduce en eventos PointerEntered o al pasar el mouse por encima.
Para configurar un control para que reproduzca el sonido Focus cuando el control reciba el foco, llama a:
ElementSoundPlayer.Play(ElementSoundKind.Focus);
Como una característica adicional para llamar a ElementSound.Focus, el sistema de sonido recorrerá cuatro sonidos diferentes en cada desencadenador de navegación. Esto significa que no se reproducirán dos sonidos de foco exactos uno detrás de otro.
La finalidad de esta característica de ciclo consiste en evitar que los sonidos de foco sean monótonos y perceptibles para el usuario. Los sonidos de foco se reproducirán más a menudo y, por lo tanto, deben ser más sutiles.
Comentarios de Windows developer
Windows developer es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Cursos
Módulo
Activación del audio espacial para la aplicación HoloLens 2 - Training
Activación del audio espacial para la aplicación HoloLens 2