MphpD est une bibliothèque pour le démon Music Player. Il vous permet de contrôler MPD depuis votre application PHP d'une manière simple et orientée objet tout en prenant également en charge l'échappement, l'analyse, le rapport d'erreurs et toutes les autres tâches pénibles.
L'ensemble du protocole MPD est pris en charge !
Avertissement
Cette bibliothèque ainsi que sa documentation sont plutôt jeunes et donc imparfaites.
Veuillez signaler ici tout bug ou problème que vous rencontrez. Merci.
Vous pouvez soit installer cette bibliothèque en utilisant composer :
composer require flofaber/ MphpD
puis chargez-le automatiquement :
require_once __DIR__ . " /vendor/autoload.php " ;
ou simplement en le téléchargeant et en l'incluant dans votre code comme ceci :
require_once __DIR__ . " / MphpD / MphpD .php " ;
Créez une nouvelle instance MphpD :
use FloFaber MphpD MphpD ;
use FloFaber MphpD MPDException ;
$ MphpD = new MphpD ([
" host " => " 127.0.0.1 " ,
" port " => 6600 ,
" timeout " => 5
]);
et connectez-vous à MPD
try {
$ MphpD -> connect ();
} catch ( MPDException $ e ){
echo $ e -> getMessage ();
return false ;
}
Voici quelques exemples de ce que vous pouvez faire avec :
// 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 ();
Pour plus d’informations, consultez la documentation.
sockets
inclus par défaut sur la plupart des installations PHP. Une liste des fonctions PHP requises par MphpD pour la communication par socket :
fgets
fputs
fread
stream_get_meta_data
stream_set_chunk_size
stream_set_timeout
stream_socket_client