Portal SAMP
[Ajuda] Criar um Radio Online - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Criar um Radio Online (/showthread.php?tid=531)

Páginas: 1 2 3


RE: Criar um Radio Online - xbruno1000x - 21/12/2020

(21/12/2020 08:04)LeleziiN Escreveu: Como faço para a musica tocar toda e quando termina ir mudando para outra?

Bom conseguir fazer a musica toca toda

Nesse formato que eu fiz, você deve por um timer de uns 3 minutos pra randomizar novamente.


RE: Criar um Radio Online - LeleziiN - 21/12/2020

(21/12/2020 11:30)xbruno1000x Escreveu:
(21/12/2020 08:04)LeleziiN Escreveu: Como faço para a musica tocar toda e quando termina ir mudando para outra?

Bom conseguir fazer a musica toca toda

Nesse formato que eu fiz, você deve por um timer de uns 3 minutos pra randomizar novamente.

Bom fiz um time aqui só q eu acho que não fiz direito pq continua tocando só uma musica, e quando ela termina não toca mais nada


RE: Criar um Radio Online - Vamp - 21/12/2020

(21/12/2020 08:04)LeleziiN Escreveu: Como faço para a musica tocar toda e quando termina ir mudando para outra?

Bom conseguir fazer a musica toca toda

Crie um ficheiro .m3u no notepad.

Escreva


Código:
#EXT-INF:-1, Nome que nao interessa
http://url do ficheiro1.mp3
http://.......ficheiro2.mp3
http://etc etc.mp3

Salve e faça upload para dropbox (ou outro), o link tem que estar disponivel para o publico.
Use a função 
Citar:PlayAudioStreamForPlayer(playerid, "http://...url do ficheiro .m3u");

O cliente vai tocar todas as musicas nessa lista por ordem.
Para algo mais complicado como fazer de DJ, pode usar IceCast, ou o prorio VLC se souber abrir portas no router.

ou

faça conta numa radio online, como https://tools.zenoradio.com/register/radio
depois de ter a lista pronta e a radio a tocar, pode extrair o url da stream da radio, por exemplo "https://stream.zenolive.com/sr3qwcxktg0uv.mp3"


RE: Criar um Radio Online - Dr Editor - 21/12/2020

(21/12/2020 08:04)LeleziiN Escreveu: Como faço para a musica tocar toda e quando termina ir mudando para outra?

Bom conseguir fazer a musica toca toda

Fiz uma base sólida para ser continuada.
Basicamente, chamando a função PlayStreamAudio para o playerid e o index da música (entre 0 e 2, no exemplo abaixo), ele dará início ao stream da lista.
Ao chegar no index máximo da array listaMusicas, começará do zero.
Para parar basta chamar StopStreamAudio.

OBS.: Lembrando que se a internet do jogador travar e, consequentemente, a música parar, o timer continuará contando e iniciará a próxima música prematuramente.

Testei apenas via debug!!!

Código:
[color=#333333][size=small][font=Tahoma, Verdana, Arial, sans-serif]// index 0: link da música[/font][/size][/color]
[color=#333333][size=small][font=Tahoma, Verdana, Arial, sans-serif]// index 1: tempo (em segundos) da música[/font][/size][/color]
new listaMusicas[][E_MUSICAS] =
{
    { "https://link_musica_1", 100 },
    { "https://link_musica_2", 120 },
    { "https://link_musica_2", 140 }
};

new timerAudioStream[MAX_PLAYERS] = { -1, ...};

stock PlayStreamAudio(playerid, idx)
{
    if(!IsPlayerConnected(playerid))
        return false;
    
    if(idx >= sizeof(listaMusicas))
        return false
    
    if(timerAudioStream[playerid] > -1)
    {
        timerAudioStream[playerid] = -1;
        KillTimer(timerAudioStream[playerid]);
    }
    
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid, listaMusicas[idx][Link]);
    timerAudioStream[playerid] = SetTimerEx("ChangeAudioStream", (listaMusicas[idx][Tempo] + 5) * 1000, false, "ii", playerid, idx);
    return true;
}

stock StopStreamAudio(playerid)
{
    StopAudioStreamForPlayer(playerid);
    
    if(timerAudioStream[playerid] > -1)
    {
        timerAudioStream[playerid] = -1;
        KillTimer(timerAudioStream[playerid]);
    }
    return true;
}

forward ChangeAudioStream(playerid, idx);
public ChangeAudioStream(playerid, idx)
{
    new novoIdx = (idx + 1 >= sizeof(listaMusicas) ? 0 : idx + 1);
    
    if(timerAudioStream[playerid] > -1)
    {
        timerAudioStream[playerid] = -1;
        KillTimer(timerAudioStream[playerid]);
    }
    
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid, listaMusicas[novoIdx][Link]);
    timerAudioStream[playerid] = SetTimerEx("ChangeAudioStream", (listaMusicas[idx][Tempo] + 5) * 1000, false, "ii", playerid, novoIdx);
    return true;
}



RE: Criar um Radio Online - LeleziiN - 21/12/2020

(21/12/2020 17:50)Dr Editor Escreveu:
(21/12/2020 08:04)LeleziiN Escreveu: Como faço para a musica tocar toda e quando termina ir mudando para outra?

Bom conseguir fazer a musica toca toda

Fiz uma base sólida para ser continuada.
Basicamente, chamando a função PlayStreamAudio para o playerid e o index da música (entre 0 e 2, no exemplo abaixo), ele dará início ao stream da lista.
Ao chegar no index máximo da array listaMusicas, começará do zero.
Para parar basta chamar StopStreamAudio.

OBS.: Lembrando que se a internet do jogador travar e, consequentemente, a música parar, o timer continuará contando e iniciará a próxima música prematuramente.

Testei apenas via debug!!!

Código:
[color=#333333][size=small][font=Tahoma, Verdana, Arial, sans-serif]// index 0: link da música[/font][/size][/color]
[color=#333333][size=small][font=Tahoma, Verdana, Arial, sans-serif]// index 1: tempo (em segundos) da música[/font][/size][/color]
new listaMusicas[][E_MUSICAS] =
{
    { "https://link_musica_1", 100 },
    { "https://link_musica_2", 120 },
    { "https://link_musica_2", 140 }
};

new timerAudioStream[MAX_PLAYERS] = { -1, ...};

stock PlayStreamAudio(playerid, idx)
{
    if(!IsPlayerConnected(playerid))
        return false;
    
    if(idx >= sizeof(listaMusicas))
        return false
    
    if(timerAudioStream[playerid] > -1)
    {
        timerAudioStream[playerid] = -1;
        KillTimer(timerAudioStream[playerid]);
    }
    
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid, listaMusicas[idx][Link]);
    timerAudioStream[playerid] = SetTimerEx("ChangeAudioStream", (listaMusicas[idx][Tempo] + 5) * 1000, false, "ii", playerid, idx);
    return true;
}

stock StopStreamAudio(playerid)
{
    StopAudioStreamForPlayer(playerid);
    
    if(timerAudioStream[playerid] > -1)
    {
        timerAudioStream[playerid] = -1;
        KillTimer(timerAudioStream[playerid]);
    }
    return true;
}

forward ChangeAudioStream(playerid, idx);
public ChangeAudioStream(playerid, idx)
{
    new novoIdx = (idx + 1 >= sizeof(listaMusicas) ? 0 : idx + 1);
    
    if(timerAudioStream[playerid] > -1)
    {
        timerAudioStream[playerid] = -1;
        KillTimer(timerAudioStream[playerid]);
    }
    
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid, listaMusicas[novoIdx][Link]);
    timerAudioStream[playerid] = SetTimerEx("ChangeAudioStream", (listaMusicas[idx][Tempo] + 5) * 1000, false, "ii", playerid, novoIdx);
    return true;
}

Ok vou tentar aqui


RE: Criar um Radio Online - LeleziiN - 22/12/2020

Uma pergunta. Assim vai tocar as músicas quando a pessoa Spawn no servidor, sem precisa de comando para fazer toca-las?


RE: Criar um Radio Online - NelsonC. - 22/12/2020

(22/12/2020 00:17)LeleziiN Escreveu: Uma pergunta. Assim vai tocar as músicas quando a pessoa Spawn no servidor, sem precisa de comando para fazer toca-las?

Ai depende de você, só colocar onde você quiser, no comando, no spawn..


RE: Criar um Radio Online - LeleziiN - 22/12/2020

Bom conseguir fazer a minha radio online 100% funcional com o painel DJ e não precisou mexer muito no GM, muito obrigado a todos que mim ajudaram agradeço pelos o ex que todos  mim deram muito obrigados a todos do fórum


RE: Criar um Radio Online - Gustavo P - 01/02/2021

(22/12/2020 09:37)LeleziiN Escreveu: Bom conseguir fazer a minha radio online 100% funcional com o painel DJ e não precisou mexer muito no GM, muito obrigado a todos que mim ajudaram agradeço pelos o ex que todos  mim deram muito obrigados a todos do fórum


O que seria esse painel DJ??


RE: Criar um Radio Online - LeleziiN - 02/02/2021

(01/02/2021 20:20)Gustavo P Escreveu:
(22/12/2020 09:37)LeleziiN Escreveu: Bom conseguir fazer a minha radio online 100% funcional com o painel DJ e não precisou mexer muito no GM, muito obrigado a todos que mim ajudaram agradeço pelos o ex que todos  mim deram muito obrigados a todos do fórum


O que seria esse painel DJ??

Bom tenho dois tipos de painel o da minha Rádio mesmo é um dentro do servidor que desenvolve que o o ADM ou o DJ ponhe musica em tempo real e vc pode fazer pedidos de musica. E estou desenvolvendo outro painel para melhorar o sistema, pois estou querendo que o ADM ou DJ possa falar por voz em tempo real no servidor