For the complete documentation index, see llms.txt. This page is also available as Markdown.

Transmisión de audio

Reproduce transmisiones de audio en vivo en tu escena.

Puedes transmitir audio desde una URL. Esto es útil para reproducir música directamente desde una radio por Internet o transmitir una conferencia a tu escena.

💡 Consejo: En el Scene Editor in Creator Hub, puedes usar un Audio Stream Smart Item como una forma sin código de lograrlo.

El audio en la fuente debe estar en uno de los siguientes formatos: .mp3, ogg, o aac. La fuente también debe ser una https URL (http las URLs no son compatibles), y la fuente debe tener políticas CORS (Cross Origin Resource Sharing) que permitan acceder externamente a ella. Si no es así, es posible que necesites configurar un server para actuar como proxy y exponer el stream de una forma válida.

Para añadir un audio stream a tu escena, simplemente añade un AudioStream componente a una entidad:

const streamEntity = engine.addEntity()

AudioStream.create(streamEntity, {
	url: 'https://icecast.ravepartyradio.org/ravepartyradio-192.mp3',
	playing: true,
	volume: 0.8,
})

Establece el volumen del AudioStream componente cambiando su volume propiedad.

Activa o desactiva el AudioStream componente estableciendo su playing property en true o false.

📔 Nota: No todos los servicios de streaming permiten reproducir su audio fuera de su sitio. Los siguientes son algunos ejemplos que funcionan en Decentraland:

DELTA = "https://cdn.instream.audio/:9069/stream?_=171cd6c2b6e"
GRAFFITI = "https://n07.radiojar.com/2qm1fc5kb.m4a?1617129761=&rj-tok=AAABeIR7VqwAilDFeUM39SDjmw&rj-ttl=5"
ISLA NEGRA = "https://radioislanegra.org/listen/up/basic.aac"

Estado del stream

Puedes supervisar el estado de un audio stream usando ya sea el audioEventsSystem (basado en callback, recomendado) o haciendo polling con AudioStream.getAudioState().

Uso de audioEventsSystem (recomendado)

Registra un callback que se activa solo cuando cambia el estado del stream. Este es el mismo sistema que se usa para AudioSource entities (ver Detectar cuándo termina un sound).

Polling con getAudioState

También puedes hacer polling del estado de un stream en cada frame usando AudioStream.getAudioState(). Esto devuelve un PBAudioEvent objeto (o undefined si todavía no se ha reportado ningún estado), con un state campo y un timestamp campo. El state campo es un valor del MediaState enum:

  • MS_NONE

  • MS_LOADING

  • a MS_READY

  • MS_PLAYING

  • MS_PAUSED

  • MS_BUFFERING

  • MS_SEEKING

  • MS_ERROR

Audio espacial

De forma predeterminada, el audio de un AudioStream componente es global, lo que significa que se escuchará con un volumen constante en toda tu escena. Si un jugador sale de la escena, no escuchará la transmisión en absoluto.

Para hacer espacial el audio, establece el spatial property en true.

Ahora el audio se escuchará desde la posición de la entidad que posee el AudioStream componente, y sonará más fuerte a medida que el jugador se acerque a ella.

Controla el audio espacial con las siguientes propiedades:

  • spatialMinDistance: La distancia mínima a la que el audio se vuelve espacial. Si el jugador está más cerca, el audio se escuchará a volumen máximo. 0 de forma predeterminada.

  • spatialMaxDistance: La distancia máxima a la que se escucha el audio. Si el jugador está más lejos, el audio se escuchará a 0 de volumen. 60 de forma predeterminada

Análisis de audio

Puedes leer datos de amplitud y frecuencia en tiempo real desde una AudioStream entidad para impulsar elementos visuales reactivos como equalizadores o luces que pulsan al ritmo. Ver Análisis de audio.

Última actualización