Как воспроизвести список песен на стороне сервера и отправить только текст текущей песни на клиентскую сторону в php?


Это небольшой пакет для сотрудников офиса. Я пытаюсь разработать приложение php, которое должно запускать песню mp3 на сервере и отправлять тексты текущей песни (только) на клиентскую сторону. Мне нужно воспроизвести список песен случайным образом на сервере, и текст текущей песни (запущенной на сервере) должен быть отправлен на стороне клиента. Для этого я сделал следующие вещи (все это делается в localhost)::

  database name:album
  table name: song(id,name,lyrics,status)
  Note: this is manual update done by admin::
  filename: - admin.php
  $id = $_POST['id'];
  mysqli_query($con,"update album set status=0");//all song status cleared
  mysqli_query($con,"update album set status=1 where id=$id");//status with value 1 is playing on               server

Имя файла: - client.php

<html>
    <meta http-equiv="refresh" content="1" >
    <body align="center" bgcolor="skyblue">
    <?php
    $con=mysqli_connect("localhost","root","root","test");
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    //echo $id;
    $result = mysqli_query($con,"select name,lyrics from album where album.status=1");
    //echo last_query();die;
    while($row = mysqli_fetch_array($result))
    {
        echo "<h1>".$row['name']."</h1>";
        echo "<br />";
        echo "<h3>".$row['lyrics']."</h3>";
    }
    mysqli_close($con);
    ?>
    </body>
</html>

Теперь все в порядке с приведенный выше код, но администратор должен обновлять каждый раз, какая песня воспроизводится на сервере. Мне нужно, чтобы эта задача была автоматизирована. Для этого мне нужно воспроизвести список песен (из базы данных), которые будут воспроизводиться, и их соответствующие тексты на стороне клиента. Что делать?? Заранее спасибо!!

Author: ianace, 2013-03-01

1 answers

Я думаю, что это то, что вы хотите (он использует mp3-плеер mpg123, но вы можете использовать что-нибудь еще (cvlc, mplayer,...):

<?php
set_time_limit(0);
$con=mysqli_connect(...);
// Check connection
if (mysqli_connect_errno()){
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
while(true){
  mysqli_query($con,"update album set status=0");
  $res = mysqli_query($con,"select id, file from album order by rand() limit 1");
  $row = mysqli_fetch_assoc($res);
  mysqli_query($con,"update album set status=1 where id=".$row['id']);
  passthru('mpg123 '.escapeshellarg($row['file']));
}

Этот скрипт предназначен для выполнения из командной строки (не с веб-сервером)

 0
Author: voondo, 2013-03-02 21:30:09