Streaming de áudio
Reproduza streams de áudio em direto na sua scene.
Você pode transmitir áudio a partir de uma URL. Isso é útil para reproduzir música diretamente de uma rádio na internet ou transmitir uma conferência para a sua scene.
💡 Dica: No Scene Editor no Creator Hub, você pode usar um Audio Stream Smart Item para uma forma sem código de conseguir isso.
O áudio na origem deve estar em um dos seguintes formatos: .mp3, ogg, ou aac. A origem também deve ser uma https URL (http URLs não são compatíveis), e a origem deve ter políticas CORS (Cross Origin Resource Sharing) que permitam o acesso externo. Se esse não for o caso, talvez seja necessário configurar um server para atuar como proxy e expor o stream de uma forma válida.
📔 Nota: Para reproduzir em vez disso um som pré-gravado na sua scene, veja Sounds.
Para adicionar um audio stream na sua scene, basta adicionar um AudioStream component a uma entity:
const streamEntity = engine.addEntity()
AudioStream.create(streamEntity, {
url: 'https://icecast.ravepartyradio.org/ravepartyradio-192.mp3',
playing: true,
volume: 0.8,
})📔 Nota: O som transmitido não é posicional; ele será ouvido com um volume consistente em toda a sua scene. Se um player sair da scene, ele não ouvirá o stream de forma alguma.
Defina o volume do AudioStream component alterando sua volume property.
Ative ou desative o AudioStream component definindo sua playing property como true ou false.
📔 Nota: Nem todos os serviços de streaming permitem que você reproduza o áudio deles fora do site. A seguir estão alguns exemplos que funcionam no 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 do stream
Consulte o estado de um audio stream usando a função AudioStream.getAudioState(), passando a entity que possui o AudioStream component.
O estado retornado é um valor do MediaState enum. Este enum tem os seguintes valores possíveis:
MS_BUFFERINGMS_ERRORMS_LOADINGMS_NONEMS_PAUSEDMS_PLAYINGMS_READYMS_SEEKING
O exemplo a seguir verifica o estado de um stream e registra logs quando houver uma mudança.
Áudio espacial
Por padrão, o áudio de um AudioStream component é global, o que significa que ele será ouvido com um volume consistente em toda a sua scene. Se um player sair da scene, ele não ouvirá o stream de forma alguma.
Para tornar o áudio espacial, defina o spatial property como true.
O áudio agora será ouvido a partir da posição da entity que possui o AudioStream component, e ficará mais alto conforme o player se aproximar dele.
Controle o áudio espacial com as seguintes properties:
spatialMinDistance: A distância mínima na qual o áudio se torna espacial. Se o player estiver mais perto, o áudio será ouvido em volume máximo. 0 por padrão.spatialMaxDistance: A distância máxima na qual o áudio é ouvido. Se o player estiver mais longe, o áudio será ouvido com volume 0. 60 por padrão
📔 Nota: Alguns formatos de áudio não suportam áudio espacial. Certifique-se de que o áudio do stream esteja codificado em mp3, AAC-LC ou FLAC.
Análise de áudio
Você pode ler dados de amplitude e frequência em tempo real de uma AudioStream entity para acionar visuais reativos, como equalizadores ou luzes pulsantes no ritmo. Veja Análise de áudio.
Atualizado