OpenWRT веб-MP3-плеер - PullRequest
       9

OpenWRT веб-MP3-плеер

0 голосов
/ 05 февраля 2019

Я успешно установил madplay на мой роутер, и он работает нормально, если я запускаю из putty.Теперь мой вопрос, как я могу запустить его из веб-интерфейса.в настоящее время у меня уже есть страница php, которая отображает список mp3 из папки с моей песней.

на шпатлевке. Я могу воспроизвести ее с

madplay -Q "имя-папки / name-of-my.file.mp3 "

Пока я создаю 3 файла: index.php, play.php, play.sh

Структуры файлов

  /www
   |- cgi-bin
          |- play.sh
   |- musicplayer
          |- index.php
          |- play.php

index.php , используется для перечисления моего mp3-файла

$dir = "path-to-mp3-folder";
$files = scandir($dir);

$awal = 2;
while($awal < count($files)) {

    echo "<tr><td><a href=\"javascript:void(0);\" onclick=\"play('" . $files[$awal] . "')\">" . $files[$awal] . "</a></td></tr>";

    $awal++;

}
<script type="text/javascript">

function play(e){var t={lagu:e};$.ajax({url:"http://router-ip/musicplayer/play.php",type:"POST",data:t,success:function(e){},error:function(e){alert("Kesalahan URL")}})}

</script>

play.php , используемый для запуска play.sh внутри папки cgi-bin

<?php
header('Content-type: text/html; charset=utf-8');
if(isset($_POST['lagu'])) {
    $lagu = str_replace(" ", "\ ", $_POST['lagu']);
    exec('killall -9 madplay');
    exec('echo "' . $lagu . '" > /tmp/playedmp3');
    //exec('sh /www/cgi-bin/play.sh');
exec('curl http://router-ip/cgi-bin/play.sh');
    echo $lagu;
} else {
    echo "Tidak Ada Lagu Terpilih";
} ?>

play.sh (внутри папки cgi-bin)

#!/bin/bash

LAGU=`cat /tmp/playedmp3`

PUTAR="/www/musicplayer/lagu/$LAGU"

killall -9 madplay

nohup madplay -Q $PUTAR &

Когда я пытаюсь получить доступ к index.php и нажимаю на имена mp3, нет ошибок, но не воспроизводится mp3, как если бы я запускал его из оболочки замазки.

...