28/10/2023 07:10
(Esta mensagem foi modificada pela última vez a: 29/10/2023 06:48 por Cifra Modder.)
Venho trazer um pequeno sistema corrigido por mim do Vaca Marinha. Os créditos vão para ele pela base. Você precisará de um servidor web para que funcione, e que não tenha nenhum atraso na Api. Tem algumas hospedagem web de graça, mais tem alguns que não funciona.
Código:
<?php
// Verifica se o parâmetro 'n' foi passado na URL, e se sim, codifica o valor.
$nome = isset($_GET['n']) ? urlencode($_GET['n']) : exit("Digite um nome");
// Constrói a URL para buscar o conteúdo.
$url = "http://site.mtabrasil.com.br/musicas/?s=" . $nome;
// Tenta obter o conteúdo da URL.
$content = file_get_contents($url);
// Verifica se a busca pelo início da tag de áudio teve sucesso.
$audioTagStart = '<audio controls preload="none">';
$audioTagEnd = "</audio>";
$links = [];
// Divide o conteúdo em partes com base na tag de áudio.
$firstStep = explode($audioTagStart, $content);
foreach ($firstStep as $key => $value) {
if ($key > 0) {
// Divide a parte com base no fim da tag de áudio.
$secondStep = explode($audioTagEnd, $value);
// Procura o URL do arquivo de áudio dentro da parte.
if (preg_match('/"([^"]+)"/', $secondStep[0], $matches)) {
$links[] = $matches[1];
break;
}
}
}
// Se pelo menos um link de áudio for encontrado, continue.
if (count($links) > 0) {
$audioUrl = $links[0];
// Tenta obter os dados do áudio do URL encontrado.
$audioData = file_get_contents($audioUrl);
if ($audioData) {
// Obtenha o nome do arquivo da URL do áudio.
$filename = basename($audioUrl);
// Defina os cabeçalhos apropriados 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.");
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;
}