MphpD é uma biblioteca para o Music Player Daemon. Ele permite que você controle o MPD de dentro do seu aplicativo PHP de uma forma simples e orientada a objetos, ao mesmo tempo que cuida do escape, da análise, do relatório de erros e de todas as outras coisas dolorosas.
Todo o protocolo MPD é suportado!
Aviso
Esta biblioteca, bem como a sua documentação, é bastante jovem e, portanto, não é perfeita.
Por favor, relate quaisquer bugs ou problemas que você encontrar aqui. Obrigado.
Você pode instalar esta biblioteca usando o compositor:
composer require flofaber/ MphpD
e então carregue-o automaticamente:
require_once __DIR__ . " /vendor/autoload.php " ;
ou simplesmente baixando-o e incluindo-o em seu código assim:
require_once __DIR__ . " / MphpD / MphpD .php " ;
Crie uma nova instância MphpD :
use FloFaber MphpD MphpD ;
use FloFaber MphpD MPDException ;
$ MphpD = new MphpD ([
" host " => " 127.0.0.1 " ,
" port " => 6600 ,
" timeout " => 5
]);
e conecte-se ao MPD
try {
$ MphpD -> connect ();
} catch ( MPDException $ e ){
echo $ e -> getMessage ();
return false ;
}
Aqui estão alguns exemplos do que você pode fazer com isso:
// 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 ();
Para mais informações consulte a Documentação.
sockets
incluídos por padrão na maioria das instalações do PHP. Uma lista de funções PHP exigidas pelo MphpD para comunicação de soquete:
fgets
fputs
fread
stream_get_meta_data
stream_set_chunk_size
stream_set_timeout
stream_socket_client