|
Добро пожаловать на Форум RadioCMS. |
Форум доступен только для чтения. |
Опции темы | Опции просмотра |
#11
|
|||
|
|||
![]()
В playlist.txt все правильно по порядочку
Последний раз редактировалось eragulin; 27.03.2012 в 18:21. |
#12
|
|||
|
|||
![]()
Выполнение фетч в коммандной строке дает такое результат:
event.php 100% of 109 B 197 kBps fetch: -O: No such file or directory event.php 100% of 109 B 509 kBps |
#13
|
|||
|
|||
![]()
Заработали кнопки в статусе. Проблема была в следующем: в config.php почему-то пароль стоял не того пользователя, от имени которого я запускал на сервере процес icecast, ezstream (кстати, запускать их нельзя, как я понял, от имени рута, потому как цмс потом их не может убить. Поэтому айсакст и езстрим нужно запускать под тем же пользователем, который указывали в конфиге. Для этого этому пользователю нужно предоставить права на запись в папку, в которой лежат логи).
|
#14
|
|||
|
|||
![]()
Перемешанные песни решились созданием вручную нового точно такого же плейлиста, но с другим именем.
|
#15
|
|||
|
|||
![]()
Погарячился я по поводу того, что проблема перемешанных песен решилась. Никак не пойму, в чем проблема.
Песни проигрываются в правильном порядке. Но выводяться на главную в плейлисте в случайном порядке. Может, я неправильно делаю вывод на главную.. Подскажите, как правильно? У меня это происходит с помощью вот такого запроса кода: Код:
$r=mysql_query("SELECT * FROM songlist WHERE idsong=$line[idsong]"); $f=mysql_fetch_array($r); $playlist[] = $f['title'].' - '.$f['artist']; $limit = 10; //echo '<br>Будут играть: <br>'; $ss = 'asdfdsbbbf'; // $system_symvol //echo "SELECT * FROM songlist WHERE sort>(SELECT sort FROM songlist WHERE idsong=$line[idsong]) AND MID(filename,LENGTH(filename)-INSTR(REVERSE(filename),'/'),30) NOT LIKE '%$ss%' ORDER BY sort LIMIT $limit"; $r=mysql_query("SELECT * FROM songlist WHERE sort>(SELECT sort FROM songlist WHERE idsong=$line[idsong]) AND MID(filename,LENGTH(filename)-INSTR(REVERSE(filename),'/'),30) NOT LIKE '%$ss%' ORDER BY sort LIMIT $limit"); while ($f=mysql_fetch_array($r)) { //echo $f['title'].' - '.$f['artist'].'<br>'; $playlist[] = $f['title'].' - '.$f['artist']; } if (mysql_num_rows($r) < $limit) { $l = $limit - mysql_num_rows($r); $r=mysql_query("SELECT * FROM songlist WHERE MID(filename,LENGTH(filename)-INSTR(REVERSE(filename),'/'),30) NOT LIKE '%$ss%' ORDER BY sort LIMIT $l"); while ($f=mysql_fetch_array($r)) { // echo $f['title'].' - '.$f['artist'].'<br>'; $playlist[] = $f['title'].' - '.$f['artist']; } } echo implode("\r\n", $playlist); |
#16
|
|||
|
|||
![]()
eragulin, у вас задача вывести следующие песни которые будут играть? Я не увидел в вашем коде строк работы с текстовым файлом плейлиста. Потому что если вы хотите выводить следующие песни - то логика работы вашего скрипта должна быть такая
1) Вы берёте название текущего трека 2) Разбиваете его на исполнителя и название 3) Запрашивает в базе данных какому треку соответствует данные Исполнитель - название 4) Вытаскиваете оттуда полный путь до музыкальной композиции 5) Далее читаете файл playlist.txt в массив 6) Находите в нём ранее полученный полный адрес до файла 7) берете следующие пять адресов и делаете обратный запрос в базе - тоесть то теперь получаете "Исполнитель - Название" используя полный путь. Таких строк в вашем коде я не нашёл и вообще он у вас странный какой-то. Плюс сразу хочу предупредить что если вы используете джинглы, то после каждого срабатывания джингла - список следующих треков будет меняться. (т.к. они перемешиваются после срабатывания джинга)
__________________
1) Тем кто ничего не понимает читать это 2) Список самых частых ошибок p\s Хотите получить исчерпывающий ответ - предоставляйте как можно больше информации (логи и скриншоты - помогают) |
Метки |
перезагрузить плейлист, перезагрузить сервер, плейлист, поменять плейлист |
Опции темы | |
Опции просмотра | |
|
|