Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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.
Ejemplos
![]()
La aplicación Galería de WinUI 3 incluye ejemplos interactivos de características y controles winUI. Obtenga la aplicación del Microsoft Store o examine el código fuente en GitHub.
API global de sonido
La plataforma UWP proporciona un sistema de sonido fácilmente accesible que permite simplemente "accionar un interruptor" 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: OnOff 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:
- Auto: El audio espacial se activará cuando el sonido esté activado.
- Off: El audio espacial siempre está desactivado, incluso si el sonido está activado.
- On: El audio espacial siempre se reproducirá.
Para obtener más información acerca del audio espacial y de cómo XAML lo controla, consulta AudioGraph: audio espacial.
Anulación del volumen
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).
Estado del nivel de control
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;
¿Es este el sonido correcto?
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 básica del usuario y, aunque los sonidos se pueden personalizar para reproducir cualquier interacción, esta sección sirve para ilustrar los escenarios en los que se deben usar los sonidos para mantener una experiencia coherente en todas las aplicaciones winUI.
Invocar un elemento
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);
Mostrar y ocultar el contenido
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 aparece 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);
Navegación dentro de una página
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);
Cuando pases a una vista o panel anterior de una lista considerado el elemento anterior, llama a:
ElementSoundPlayer.Play(ElementSoundKind.MovePrevious);
Navegación hacia atrás
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);
Establecer el foco en un elemento
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 durante los eventos de PointerEntered ni cuando se pasa el ratón por encima.
Para configurar un control para que reproduzca el sonido Focus cuando el control reciba el foco, llama a:
ElementSoundPlayer.Play(ElementSoundKind.Focus);
Alternar sonidos de enfoque
Como característica adicional al llamar a ElementSound.Focus, el sistema de sonido, por defecto, recorrerá cuatro sonidos diferentes con cada activación 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.
Artículos relacionados
Windows developer