Portal SAMP
[Ajuda] Sistema de Playlist - 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] Sistema de Playlist (/showthread.php?tid=4826)



Sistema de Playlist - Jamis2002 - 05/07/2024

Bom Dia/Tarde/Noite!

Estou Desenvolvendo Um Sistema de Playlist Pro Meu Servidor, Na Qual Existe Uma Possibilidade de Tocar A Música Desejada, Como Se Fosse Um Preview. Estou Usando A API Do MTA Brasil Para Reprodução Formatando Diretamente O ID Do Vídeo Pego Do Youtube e Jogando No Link.

O Problema é Que Esse Link Não Toca De Maneira Alguma, Ja Fiz Alguns Testes Com O Link Direto, Outros Sites Que Testam O Streaming Da Música e Mesmo Assim A Música Não é Reproduzida.

Vou Deixar O Trecho Do Código Abaixo Para Posteriores Correções:

Código PHP:
case DIALOG_PLAY_SONG:
        {
        
       if(!response) return SendClientMessage(playeridCOR_ERRO"| INFO | Voce Saiu da Sua Playlist");

        
       new MusicPlay[150];
        
    new idx strfind(inputtext"v="true); // Encontra a posição do "v="

        
    if(strlen(inputtext) <= 12) return SendClientMessage(playeridCOR_ERRO"| ERRO | Use o Link Do Youtube De Forma Correta."); 

        
    if(idx != -1)
        
    {
        
        new YTID[15]; // O ID do YouTube tem 11 caracteres
        
        strmid(YTIDinputtextidx 2idx 13); // Extrai o ID do vídeo

        
        format(MusicPlaysizeof(MusicPlay), "https://server1.mtabrasil.com.br/musics/%s.mp3"YTID);
        
        PlayAudioStreamForPlayer(playeridMusicPlay);
        
        SendClientMessage(playerid, -1MusicPlay);
        
    }
        
    else
        
    {
        
        SendClientMessage(playeridCOR_ERRO"| ERRO | Link do YouTube inválido");
        
    }
        } 



RE: Sistema de Playlist - marcelog09 - 05/07/2024

Eu nunca havia utilizado essa API do MTABrasil antes, mas testando aqui o link correto parece ser: https://server1.mtabrasil.com.br/play?id=

Exemplo: https://server1.mtabrasil.com.br/play?id=ldPFWj62qtU

OBS: O ID do vídeo tem que ser sem a extensão .mp3 mesmo.


RE: Sistema de Playlist - Jamis2002 - 05/07/2024

(05/07/2024 13:04)marcelog09 Escreveu: Eu nunca havia utilizado essa API do MTABrasil antes, mas testando aqui o link correto parece ser: https://server1.mtabrasil.com.br/play?id=

Exemplo: https://server1.mtabrasil.com.br/play?id=ldPFWj62qtU

OBS: O ID do vídeo tem que ser sem a extensão .mp3 mesmo.

Eu Já Tentei Pelo Play, Mas o Que Acontece é que Ocorre Um Redirect Pra Pagina Musics Contendo o ID do Video anexado com um ".MP3", Mesmo Assim A Música Não Reproduz.


RE: Sistema de Playlist - marcelog09 - 05/07/2024

(05/07/2024 13:07)Jamis2002 Escreveu:
(05/07/2024 13:04)marcelog09 Escreveu: Eu nunca havia utilizado essa API do MTABrasil antes, mas testando aqui o link correto parece ser: https://server1.mtabrasil.com.br/play?id=

Exemplo: https://server1.mtabrasil.com.br/play?id=ldPFWj62qtU

OBS: O ID do vídeo tem que ser sem a extensão .mp3 mesmo.

Eu Já Tentei Pelo Play, Mas o Que Acontece é que Ocorre Um Redirect Pra Pagina Musics Contendo o ID do Video anexado com um ".MP3", Mesmo Assim A Música Não Reproduz.

Usei esse comando de teste e aqui a música tocou, só demorou alguns segundos por conta acredito que da conversão que a API faz:

Código:
CMD:teste(playerid, params[])
{
    new MusicPlay[150];
    if(sscanf(params, "s[150]", MusicPlay)) return SendClientMessage(playerid, Cor_Correto, "Uso correto: /teste [ link video ]");
    new idx = strfind(params, "v=", true); // Encontra a posição do "v="

    new YTID[15]; // O ID do YouTube tem 11 caracteres
    strmid(YTID, params, idx + 2, idx + 13); // Extrai o ID do vídeo

    format(MusicPlay, sizeof(MusicPlay), "https://server1.mtabrasil.com.br/play?id=%s", YTID);
    PlayAudioStreamForPlayer(playerid, MusicPlay);
    SendClientMessage(playerid, -1, MusicPlay);
    return 1;
}

É uma pergunta talvez meio besta, mas o volume 'rádio' do seu GTA está ativado?


RE: Sistema de Playlist - Jamis2002 - 05/07/2024

(05/07/2024 13:28)marcelog09 Escreveu:
(05/07/2024 13:07)Jamis2002 Escreveu:
(05/07/2024 13:04)marcelog09 Escreveu: Eu nunca havia utilizado essa API do MTABrasil antes, mas testando aqui o link correto parece ser: https://server1.mtabrasil.com.br/play?id=

Exemplo: https://server1.mtabrasil.com.br/play?id=ldPFWj62qtU

OBS: O ID do vídeo tem que ser sem a extensão .mp3 mesmo.

Eu Já Tentei Pelo Play, Mas o Que Acontece é que Ocorre Um Redirect Pra Pagina Musics Contendo o ID do Video anexado com um ".MP3", Mesmo Assim A Música Não Reproduz.

Usei esse comando de teste e aqui a música tocou, só demorou alguns segundos por conta acredito que da conversão que a API faz:

Código:
CMD:teste(playerid, params[])
{
    new MusicPlay[150];
    if(sscanf(params, "s[150]", MusicPlay)) return SendClientMessage(playerid, Cor_Correto, "Uso correto: /teste [ link video ]");
    new idx = strfind(params, "v=", true); // Encontra a posição do "v="

    new YTID[15]; // O ID do YouTube tem 11 caracteres
    strmid(YTID, params, idx + 2, idx + 13); // Extrai o ID do vídeo

    format(MusicPlay, sizeof(MusicPlay), "https://server1.mtabrasil.com.br/play?id=%s", YTID);
    PlayAudioStreamForPlayer(playerid, MusicPlay);
    SendClientMessage(playerid, -1, MusicPlay);
    return 1;
}

É uma pergunta talvez meio besta, mas o volume 'rádio' do seu GTA está ativado?
Eu Joguei Esse Comando Aqui E Ainda Não Funcionou...

Se For O Volume Encontrado Em Opçoes-> Controle de Audio -> Radio, Está No Máximo.


RE: Sistema de Playlist - xbruno1000x - 05/07/2024

Tente utilizar os links com HTTP ao invés de HTTPS.

Exemplo:
https://server1.mtabrasil.com.br/play?id=%s viraria http://server1.mtabrasil.com.br/play?id=%s

Confira também se a API está retornando algo válido.


RE: Sistema de Playlist - Jamis2002 - 12/07/2024

Certo, Ainda Continuo Tendo O Mesmo Problema, Essa API ela Roda em HTTPS, Mesmo Assim, Ela Não Está Reproduzindo...

Já fiz Diversos Testes, Já Reinstalei o Meu GTA Também (Minha Instalação é Limpa) Mas Não Adiantou.
Já Testei Um Outro Link Do Dropbox, Esse Sim reproduziu.

O Link Tem Uma Conversão, Não Sei Se é Esse o Motivo Do Problema.


RE: Sistema de Playlist - White_Blue - 12/07/2024

Já tentou esta include?


RE: Sistema de Playlist - Jamis2002 - 12/07/2024

(12/07/2024 17:04)White_Blue Escreveu: Já tentou esta include?

Mas Essa Include Não Precisaria Da Própria API Do Michael e De Uma API Key do YT?


RE: Sistema de Playlist - White_Blue - 12/07/2024

(12/07/2024 21:15)Jamis2002 Escreveu:
(12/07/2024 17:04)White_Blue Escreveu: Já tentou esta include?

Mas Essa Include Não Precisaria Da Própria API Do Michael e De Uma API Key do YT?

Sim, qual seria o problema? A API do Michael é open source (https://github.com/MichaelBelgium/Youtube-API), portanto você pode hospedá-la você mesmo caso queira. Quanto à chave da API do YouTube (como explicado aqui: https://github.com/MichaelBelgium/MV_Youtube?tab=readme-ov-file#youtube-api) só é necessária se você for auto-hospedar a include. Caso utilize a versão com as configurações hospedadas no domínio do Michael não é necessário.