MphpD — это библиотека для демона музыкального проигрывателя. Он позволяет вам управлять MPD из вашего PHP-приложения простым и объектно-ориентированным способом, а также выполнять экранирование, синтаксический анализ, отчеты об ошибках и все другие болезненные вещи.
Поддерживается весь протокол MPD!
Предупреждение
Эта библиотека, как и ее документация, довольно молоды и поэтому не идеальны.
Пожалуйста, сообщайте здесь о любых ошибках или проблемах, с которыми вы столкнулись. Спасибо.
Вы можете установить эту библиотеку с помощью композитора:
composer require flofaber/ MphpD
а затем автозагрузить его:
require_once __DIR__ . " /vendor/autoload.php " ;
или просто загрузив его и включив в свой код следующим образом:
require_once __DIR__ . " / MphpD / MphpD .php " ;
Создайте новый экземпляр MphpD :
use FloFaber MphpD MphpD ;
use FloFaber MphpD MPDException ;
$ MphpD = new MphpD ([
" host " => " 127.0.0.1 " ,
" port " => 6600 ,
" timeout " => 5
]);
и подключитесь к MPD
try {
$ MphpD -> connect ();
} catch ( MPDException $ e ){
echo $ e -> getMessage ();
return false ;
}
Вот несколько примеров того, что вы можете с этим сделать:
// get MPD's status like current song, volume, state, etc...
$ status = $ MphpD -> status ();
// if you only want to retrieve only one (or more) values
// you can pass it a list of keys.
$ state = $ MphpD -> status ([ " state " ]);
// clear the queue
$ MphpD -> queue ()-> clear ();
// load the first 10 songs of a playlist into the queue and exit on failure.
if (! $ MphpD -> playlist ( " some-playlist " )-> load ([ 0 , 10 ])){
echo $ MphpD -> get_last_error ()[ " message " ]; // prints "No such playlist"
return false ;
}
// shuffle the queue
$ MphpD -> queue ()-> shuffle ();
// adjust volume to 40%
$ MphpD -> player ()-> volume ( 40 );
// start playing
$ MphpD -> player ()-> play ();
Для получения дополнительной информации ознакомьтесь с Документацией.
sockets
, которые включены по умолчанию в большинстве установок PHP. Список функций PHP, необходимых MphpD для связи через сокет:
fgets
fputs
fread
stream_get_meta_data
stream_set_chunk_size
stream_set_timeout
stream_socket_client