SoundEffect QML Type
El tipo SoundEffect proporciona una forma de reproducir efectos de sonido en QML. Más...
| Import Statement: | import QtMultimedia |
| In C++: | QSoundEffect |
Propiedades
- loops : int
- loopsRemaining : int
- muted : bool
- playing : bool
- source : url
- status : enumeration
- volume : real
Señales
- loadedChanged()
- loopCountChanged()
- loopsRemainingChanged()
- mutedChanged()
- playingChanged()
- sourceChanged()
- statusChanged()
- volumeChanged()
Métodos
Descripción detallada
Este tipo permite reproducir archivos de audio sin comprimir (normalmente archivos WAV) de una forma generalmente de baja latencia, y es adecuado para sonidos de tipo "feedback" en respuesta a acciones del usuario (por ejemplo, sonidos de teclado virtual, feedback positivo o negativo para diálogos emergentes, o sonidos de juegos). Si la baja latencia no es importante, considere la posibilidad de utilizar en su lugar el tipo MediaPlayer, ya que admite una mayor variedad de formatos multimedia y consume menos recursos.
Normalmente, el efecto de sonido debe reutilizarse, lo que permite que todo el análisis y la preparación se realicen con antelación y sólo se activen cuando sea necesario. Esto es fácil de conseguir con QML, ya que puedes declarar tu instancia SoundEffect y hacer referencia a ella en cualquier otro lugar.
El siguiente ejemplo reproduce un archivo WAV al hacer clic con el ratón.
Text { text: "Click Me!"; font.pointSize: 24; width: 150; height: 50; SoundEffect { id: playSound source: "soundeffect.wav" } MouseArea { id: playArea anchors.fill: parent onPressed: { playSound.play() } } }
Nota: QSoundEffect sólo admite archivos de sonido mono o estéreo. Se recomienda utilizar archivos de sonido con una frecuencia de muestreo de 48000hz, ya que ésta es la frecuencia de muestreo nativa típica en la mayoría de las plataformas (QAudioDevice::preferredFormat()).
Documentación de propiedades
loops : int
Esta propiedad contiene el número de veces que se reproduce el sonido. Un valor de 0 o 1 significa que el sonido sólo se reproducirá una vez; establezca SoundEffect.Infinite para habilitar bucles infinitos.
El valor puede cambiarse mientras se reproduce el efecto de sonido, en cuyo caso actualizará los bucles restantes al nuevo valor.
loopsRemaining : int [read-only]
Esta propiedad contiene el número de bucles restantes antes de que el efecto de sonido se detenga por sí mismo, o SoundEffect.Infinite si eso es lo que se ha establecido en loops.
muted : bool
Esta propiedad permite controlar el silenciamiento. Un valor de true silenciará este efecto. De lo contrario, la reproducción se producirá con el valor especificado actualmente volume.
playing : bool [read-only]
Esta propiedad indica si el efecto de sonido se está reproduciendo o no.
source : url
Esta propiedad contiene la url del sonido a reproducir. Para que SoundEffect intente cargar la fuente, la URL debe existir y la aplicación debe tener permiso de lectura en el directorio especificado. Si la fuente deseada es un archivo local, la URL puede especificarse utilizando una ruta absoluta o relativa (al archivo que declaró SoundEffect).
status : enumeration [read-only]
Esta propiedad indica el estado actual de SoundEffect tal y como se enumera en SoundEffect. A continuación se enumeran los posibles estados.
| Valor | Descripción |
|---|---|
| SoundEffectNulo | No se ha establecido ninguna fuente o la fuente es nula. |
| SoundEffectCargando | SoundEffect está intentando cargar la fuente. |
| SoundEffectListo | La fuente está cargada y lista para reproducirse. |
| SoundEffect.Error | Se ha producido un error durante la operación, como un fallo al cargar la fuente. |
volume : real
Esta propiedad contiene el volumen de la reproducción del efecto de sonido.
El volumen se escala linealmente desde 0.0 (silencio) hasta 1.0 (volumen máximo). Los valores fuera de este rango serán bloqueados.
El volumen por defecto es 1.0.
Normalmente, los controles de volumen de la interfaz de usuario deben escalarse de forma no lineal. Por ejemplo, utilizar una escala logarítmica producirá cambios lineales en el volumen percibido, que es lo que un usuario esperaría normalmente de un control de volumen. Para más información, consulte convertVolume().
Documentación sobre señales
loadedChanged()
La señal loadedChanged se emite cuando el estado de carga ha cambiado.
Nota: El manejador correspondiente es onLoadedChanged.
loopCountChanged()
La señal loopCountChanged se emite cuando el número inicial de bucles ha cambiado.
Nota: El manejador correspondiente es onLoopCountChanged.
loopsRemainingChanged()
La señal loopsRemainingChanged se emite cuando el número restante de bucles ha cambiado.
Nota: El manejador correspondiente es onLoopsRemainingChanged.
mutedChanged()
La señal mutedChanged se emite cuando el estado de silencio ha cambiado.
Nota: El manejador correspondiente es onMutedChanged.
playingChanged()
La señal playingChanged se emite cuando la propiedad de reproducción ha cambiado.
Nota: El controlador correspondiente es onPlayingChanged.
sourceChanged()
La señal sourceChanged se emite cuando se ha modificado la fuente.
Nota: El manejador correspondiente es onSourceChanged.
statusChanged()
La señal statusChanged se emite cuando la propiedad de estado ha cambiado.
Nota: El manejador correspondiente es onStatusChanged.
volumeChanged()
La señal volumeChanged se emite cuando el volumen ha cambiado.
Nota: El manejador correspondiente es onVolumeChanged.
Documentación del método
bool isLoaded()
Devuelve si el efecto de sonido ha terminado de cargar source.
void play()
Inicia la reproducción del efecto de sonido, reproduciéndolo en bucle el número de veces especificado en la propiedad loops.
Este es el método por defecto para SoundEffect.
SoundEffect { id: playSound source: "soundeffect.wav" } MouseArea { id: playArea anchors.fill: parent onPressed: { playSound.play() } }
void stop()
Detener la reproducción actual.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.