Streaming 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 en tu escena.

circle-info

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

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 debería tener CORS policies (Cross Origin Resource Sharing)arrow-up-right que permitan acceder a ella externamente. Si este no es el caso, es posible que necesites configurar un servidor que actúe como proxy y exponga la transmisión de una manera válida.

circle-exclamation

Para añadir una transmisión de audio 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,
})
circle-exclamation

Ajusta el volumen del AudioStream componente cambiando su volume propiedad.

Activa o desactiva el AudioStream componente estableciendo su detiene todas las demás animaciones que la entidad está reproduciendo actualmente. Para reproducir múltiples animaciones al mismo tiempo, modifica manualmente la propiedad a true o false.

circle-info

📔 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 de la transmisión

Consulta el estado de una transmisión de audio usando la función AudioStream.getAudioState(), pasando la entidad que posee el AudioStream componente.

El estado devuelto es un valor del MediaState enum. Este enum tiene los siguientes valores posibles:

  • MS_BUFFERING

  • MS_ERROR

  • MS_LOADING

  • MS_NONE

  • MS_PAUSED

  • MS_PLAYING

  • MS_READY

  • MS_SEEKING

El siguiente ejemplo comprueba el estado de una transmisión y registra cuando hay un cambio.

Audio espacial

Por defecto, el audio de un AudioStream componente es global, lo que significa que se escuchará a un volumen consistente en toda tu escena. Si un jugador sale de la escena, no escuchará la transmisión en absoluto.

Para hacer el audio espacial, establece el spatial a true.

El audio ahora se escuchará desde la posición de la entidad que posee el AudioStream componente, y será más fuerte a medida que el jugador se acerque a él.

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á al volumen completo. 0 totalVideoLength

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

circle-exclamation

Última actualización