Portal SAMP
[Lançamento] Ouvir Músicas Pelo Nome - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Lançamentos (https://portalsamp.com/forumdisplay.php?fid=26)
+---- Fórum: Filterscripts (https://portalsamp.com/forumdisplay.php?fid=9)
+---- Tópico: [Lançamento] Ouvir Músicas Pelo Nome (/showthread.php?tid=1156)

Páginas: 1 2


RE: Ouvir Músicas Pelo Nome - White_Blue - 10/02/2023

(09/02/2023 23:01)anime107 Escreveu: funciona ainda?

Funcionar provavelmente funciona, mas como ele disse, você tem que hospedar o script PHP em algum servidor.

Obs: O método que ele usa é uma "gambiarra".
Código PHP:
$url "http://site.mtabrasil.com.br/musicas/?s=".$nome// Faz requisição para o site mas pode dar errado, afinal, algumas músicas desse site não tocam ou estão indisponíveis. 



RE: Ouvir Músicas Pelo Nome - gederlan - 08/03/2023

ande coloca as musicas


RE: Ouvir Músicas Pelo Nome - Cifra Modder - 17/09/2023

Bom eu fiz uma correção geral e está funcionando perfeitamente.

Código PHP:
<?php
$nome 
= isset($_GET['n']) ? urlencode($_GET['n']) : exit("Digite um nome");
$url "http://site.mtabrasil.com.br/musicas/?s=".$nome;
$content file_get_contents($url);
$audioTagStart '<audio controls preload="none">';
$audioTagEnd "</audio>";
$links = [];

$firstStep explode($audioTagStart$content);
foreach (
$firstStep as $key => $value) {
    if ($key 0) {
        $secondStep explode($audioTagEnd$value);
        if (preg_match('/"([^"]+)"/'$secondStep[0], $matches)) {
            $links[] = $matches[1];
            break;
        }
    }
}

if (
count($links) > 0) {
    $audioUrl $links[0];
    $audioData file_get_contents($audioUrl);

    if ($audioData) {
        // Obtenha o nome do arquivo da URL do áudio
        $filename basename($audioUrl);

        // Defina o cabeçalho apropriado para a resposta HTTP
        header('Content-Type: audio/mpeg');
        header('Content-Length: ' strlen($audioData));
        header('Content-Disposition: inline; filename="'.$filename.'"');

        // Envia os dados do áudio para o navegador
        echo $audioData;
    } else {
        exit("Falha ao carregar a música.");
    }
} else {
    exit("Nenhum link de áudio encontrado.");
}
?>

Código:
#include <a_samp>
#include <zcmd>
#include <sscanf2>

#define FILTERSCRIPT

public OnFilterScriptInit()
{
    print("Sistema musicas por nome corrigido por ciframodd");
    return 1;
}

#define Dialog_Ouvir 5343
CMD:ouvir(playerid, params[])
{
    return ShowPlayerDialog(playerid, Dialog_Ouvir, DIALOG_STYLE_INPUT, "Ouvir musica", "Digite o nome da musica que quer ouvir:", "Ouvir", "Cancelar");
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new urlfinal[1024];
    if(dialogid == Dialog_Ouvir)
    {
        format(urlfinal, 1024, "exemplo/musica.php?n=%s", inputtext);
        PlayAudioStreamForPlayer(playerid, urlfinal);
        SendClientMessage(playerid, 0x00ff00ff, "Reproduzindo musica!");
        return 1;
    }
    return 0;
}
CMD:parar(playerid)
{
    StopAudioStreamForPlayer(playerid);
    SendClientMessage(playerid, 0xff0000ff, "Parando musica!");
    return 1;
}

Se você quiser uma hospedagem gratuita recomendo a byethost33. Para isso funcionar precisa de uma hospedagem web muito boa.