flofaber / mphpd
A PHP library for the Music Player Daemon
Requires
- php: >=7.4
- ext-sockets: *
Requires (Dev)
- erusev/parsedown: ^1.7
- phpdocumentor/reflection-docblock: ^5.3
- phpunit/phpunit: 9.5.27
This package is auto-updated.
Last update: 2024-11-14 12:07:27 UTC
README
MphpD is a library for the Music Player Daemon. It lets you control MPD from within your PHP application in a simple and object-oriented way while also taking care of escaping, parsing, error reporting and all the other painful stuff.
The whole MPD protocol is supported!
Warning
This Library as well as it's documentation is rather young and therefore not perfect.
Please report any bugs or issues you encounter here. Thanks.
Installation
You can either install this library by using composer:
composer require flofaber/mphpd
and then autoload it:
require_once __DIR__ . "/vendor/autoload.php";
or by simply downloading it and including it in your code like so:
require_once __DIR__ . "/MphpD/MphpD.php";
Usage
Create a new MphpD instance:
use FloFaber\MphpD\MphpD; use FloFaber\MphpD\MPDException; $mphpd = new MphpD([ "host" => "127.0.0.1", "port" => 6600, "timeout" => 5 ]);
and connect to MPD
try{ $mphpd->connect(); }catch (MPDException $e){ echo $e->getMessage(); return false; }
Example
Here are some examples of what you can do with it:
// 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();
For further information have a look at the Documentation.
Supported PHP versions
- 7.4 and above
Required PHP extensions
- Only
sockets
which is included by default on most PHP installations.
Required PHP functions
A list of PHP functions required by MphpD for socket communication:
fgets
fputs
fread
stream_get_meta_data
stream_set_chunk_size
stream_set_timeout
stream_socket_client