Sonidos
Aprende cómo agregar sonidos a tu escena.
El sonido es una gran manera de proporcionar retroalimentación a las acciones y eventos del jugador; los sonidos de fondo también pueden brindar más contexto a tu escena y mejorar la inmersión del jugador en ella.
📔 Nota: Ten en cuenta que los sonidos solo los escuchan los jugadores que se encuentran dentro de los parcels que componen la escena donde se generó el sonido, incluso si de otro modo estarían dentro del rango auditivo. Los jugadores también pueden elegir desactivar todos los sonidos en sus settings.
Los formatos de sonido compatibles varían según el navegador, pero se recomienda usar .mp3.
.wav los archivos también son compatibles, pero generalmente no se recomiendan ya que son significativamente más pesados.
Reproducir sonidos
La forma más fácil de reproducir un sonido es añadir un Audio Source componente visualmente en el Scene Editor in Creator Hub y configurarlo en Start Playing y Loop. Ver Add Components.

También puedes activar la reproducción de un sonido de forma no code mediante Actions, ver Make any item smart.
Para reproducir un sonido mediante código, usa la función AudioSource.playSound .
El archivo de sonido debe estar dentro de la carpeta del proyecto. En el ejemplo anterior, el archivo de audio se encuentra en una assets/sounds carpeta, que está ubicada en el nivel raíz de la carpeta del proyecto de la escena.
📔 Nota: El AudioSource componente debe importarse vía
import { AudioSource } from "@dcl/sdk/ecs"
Ver Imports para cómo manejarlos fácilmente.
La AudioSource.playSound() función toma los siguientes argumentos:
entity: En qué entity aplicar el sonido. El sonido se escuchará desde la posición de esta entity, lo que significa que se vuelve más fuerte a medida que el jugador se acerca.src: La ubicación del archivo de sonido dentro de tu proyecto.
💡 Tip: Para mayor claridad, recomendamos mantener tus archivos de sonido separados en una assets/sounds folder inside your scene.
resetCursor: (optional) Si es true, el sonido siempre comienza desde el principio. De lo contrario, continúa desde la posición actual del cursor. Útil para pausar y reanudar.
Otra forma de reproducir sonidos es crear manualmente un AudioSource componente en una entity. Usa este enfoque para tener más control sobre el sonido, por ejemplo para hacerlo loop o ajustar el volumen.
Se pueden establecer las siguientes propiedades:
audioClipUrl: La ubicación del archivo de sonido dentro de tu proyecto.playing: Si es true, el sonido empieza a reproducirse. Puedes crear un sonido conplayingset to false, and then set it to true at a later time.volume: (optional) El volumen del archivo de sonido. 1 por defecto, que es volumen completo.pitch: (optional) Modifica la tonalidad de un sonido. 1 es el valor por defecto; hazlo menor para un sonido más grave y mayor para un sonido más agudo.
💡 Tip: Para evitar que un efecto de sonido se vuelva demasiado repetitivo durante un juego, es útil aleatorizar pequeñas variaciones en el pitch del sonido cada vez que se reproduce.
currentTime: (optional) 0 por defecto. Establece este valor para evitar comenzar desde el principio del archivo de sonido.
Cada entity solo puede tener un único AudioSource componente, que solo puede reproducir un clip a la vez. Esta limitación puede superarse fácilmente modificando la fuente de audio en el momento de reproducir un nuevo sonido, o incluyendo múltiples child entities invisibles, cada una con su propio sonido.
📔 Nota: Los sonidos se reproducen en la instancia local de cada jugador. Otros jugadores cercanos no escucharán los mismos sonidos a menos que su escena local también los reproduzca explícitamente.
Pre Carga de un Sonido
Si una entity usa un sonido, pero no se reproduce inmediatamente en el tiempo de ejecución de la escena, puede tardar un poco en descargarse. Puede estar disponible en el tiempo de ejecución de la escena usando el AssetLoad componente.
Para más información, consulta la documentación de Pre Load Resources .
Detener sonidos
Para detener que una entity reproduzca su sonido, usa la función AudioSource.stopSound() . Solo necesitas especificar la entity, ya que cada entity tiene un único AudioSource componente, y cada AudioSource componente reproduce un solo archivo a la vez.
Otra forma de detener un sonido es establecer la propiedad playing a false.
Looping
Para mantener un sonido reproduciéndose en un bucle continuo, establece el campo loop del AudioSource componente en true antes de empezar a reproducirlo.
Los sonidos en loop son especialmente útiles para añadir música de fondo u otros sonidos ambientales.
Ajustar volumen
Puedes establecer la propiedad volume del AudioSource componente para cambiar el volumen de un sonido.
El volumen se expresa como un número de 0 a 1.
📔 Nota: Por supuesto, el volumen de un sonido también se ve afectado por la distancia del jugador a la fuente de audio. A medida que el jugador se aleja, el volumen será menor.
Sonidos globales
Por defecto, todos los sonidos de un AudioSource son posicionales. Esto significa que parecen generarse desde la posición del componente Transform , y sonarán más fuerte a medida que el jugador se acerque. Pero también puedes configurar un sonido para que sea global, de modo que el volumen sea constante, sin importar dónde esté el jugador. Esto es ideal para música de fondo, sonidos de notificación y otros sonidos no posicionales.
📔 Nota: Global Sounds es una función que solo está soportada en el cliente de escritorio DCL 2.0.
Para hacer un sonido global, establece la propiedad global a true.
Reproducir un segmento de un sonido
Para reproducir un segmento de un archivo de sonido más largo, usa la función playSoundSegment() en la librería SDK Utils. Ver SDK7 Utils.
También puedes lograr esto estableciendo explícitamente la propiedad currentTime en un AudioSource componente, y luego deteniéndolo después de esperar un periodo de tiempo.
Audio streaming
Ver Audio streaming para aprender cómo puedes reproducir una transmisión de audio en vivo desde una fuente externa.
Última actualización