17/09/2023 02:06
Bom eu fiz uma correção geral e está funcionando perfeitamente.
Se você quiser uma hospedagem gratuita recomendo a byethost33. Para isso funcionar precisa de uma hospedagem web muito boa.
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.