Encore! караоке плеер

форум технической поддержки

#1 2023-03-23 22:19:22

LGTeam
Administrator

Свой Http сервер для онлайн караоке

Данный функционал доступен с 3.74 версии плеера


Коротко:
заливаете себе на сервер караоке базу, генерируете список песен в файл list.txt в корне, в плеере прописываете URL сервера, плеер читает список и поёте.

Список песен загружается в текущую активную вкладку плеера.

Скаченные караоке файлы автоматически сохраняются в временной папке виндовс.
Если не очищать, то при последующем проигрывании песни будет использоваться уже сохраненный локальный файл.

В настройках, на вкладке iDIsk, необходимо прописать адрес сервера:
httpserver.jpg

для теста пропишите: http://encore.su/testonline/ (не забывайте кликать кнопку "применить" для сохранения данных)
список песен должен храниться на сервере, в корне указанной URL ссылки в файле: list.txt в UTF-8 кодировке.
в случаи теста, это будет http://encore.su/testonline/list.txt
файл списка должен включать в себя пути к караоке файлам, которые плеер подставит после указанного в плеере URL сервера.

например, для автогенерации данного файла использовался PHP скрипт:

[== PHP ==]
<?php

$listFiles = get_dir_files('./');

echo '<pre>';
print_r($listFiles);
echo '</pre>';

file_put_contents("./list.txt" , implode("\r\n", $listFiles ));
 
function get_dir_files( $dir, $recursive = true){
	if( ! is_dir($dir) )
		return array();

	$files = array();

	$dir = rtrim( $dir, '/\\' );

	foreach( glob( "$dir/{,.}[!.,!..]*", GLOB_BRACE ) as $file ){

		if( is_dir( $file ) ){
			
			if( $recursive )
				$files = array_merge( $files, call_user_func( __FUNCTION__, $file, $recursive ) );
		}
		else {
			$extFile = strtoupper(substr(strrchr($file,'.'), 1));
			If ( ($extFile == 'KFN') || ($extFile == 'MP3') || ($extFile == 'PRO') || ($extFile == 'KAR')) 
			  $files[] = ltrim($file, './');
		}
	}

	return $files;
}

?>

у кого EMP лицензия, доступна опция ввода в настройках логина\пароля доступа.
при введенном в настройках пароле, плеер всегда будет отправлять запрос на: URL_адрес_сервера/get.php
передавая в POST параметрах пароль ('password=') и путь к песне ('song='), указанной в файле списка.
в файле get.php уже проверяете пароль и возвращаете файл.
на тестовом сервере доступ по паролю не доступен и при любой попытке чтения используя пароль, будет возвращать всегда:

[== PHP ==]
<?
$karFile = './bad.kar';
readfile($karFile);
?>

доступны два варианта хранения караоке файлов:

- "исполнитель = название песни.ext", то есть между исполнителем и названием должен быть знак равно и по краям пробелы.
- название файла - это название песни, а папка, в которой находится файл - это название исполнителя.

на данный момент поддержка только одиночных караоке файлов типа PRO, KFN. KAR.
например CDG, состоящий из mp3 файла и cdg, не поддерживается.
так же не поддерживаются mp3 файлы с отдельным файлом лирики.
поддерживаются только mp3, внутри которых сохранена лирика в EnCore редакторе.

Не в сети