Diese HTTP -API stellt eine Verbindung zum DBUS des Hosts her, um aktuelle Medieninformationen abzurufen. Es enthält einen Endpunkt, an dem auf diese Informationen zugegriffen werden können, und verschiedene Methoden ausgeführt werden.
GET /get Returns a list of all available Mris MediaPlayer2 objects. {
"error" : false ,
"result" : [
{
"service" : " org.mpris.MediaPlayer2.APPLICATION " ,
"mpris:artUrl" : " BASE64 DATA " ,
"mpris:length" : 1230 ,
"mpris:trackid" : " TRACK ID " ,
"playback_status" : " Playing " ,
"position" : 1230 ,
"volume" : 1 ,
"xesam:album" : " " ,
"xesam:artist" : [
" ARTIST "
],
"xesam:title" : " TITLE "
}
]
}GET /{action}/{service} Triggers a specified action in the provided service. playpauseplaypausestopnextprevious{ "error" : false , "message" : " ACTION executed successfully " }Notiz
Wenn Sie AUTH=true und AUTH_KEY=KEY in Ihrer .Env -Datei haben, müssen Sie Ihren Anfragen einen Authorization mit dem Authentifizierungsschlüssel hinzufügen.
Um diese HTTP -API auszuführen, benötigen Sie eine Linux -Maschine mit installiertem DBUS. Dieses Projekt integriert sich in den DBUS MRIS Media Player für die Interaktion zwischen Media Player. Sie müssen dieses Projekt auch kompilieren.
Um dieses Projekt zu kompilieren und auszuführen, folgen Sie folgenden Befehlen:
git clone https://github.com/Towsif12/dbus-media-http-api.git
cd dbus-media-http-api
go build -o dbus-media-api ./src
chmod +x dbus-media-api
./dbus-media-api Optional können Sie eine .env -Datei verwenden, um den Port, die Authentifizierung und den Authentifizierungsschlüssel zu konfigurieren:
PORT=10004
AUTH=true
AUTH_KEY=key123
Der Entwicklungsprozess ähnelt den Verwendungsanweisungen. Beginnen Sie mit dem Klonen des Repositorys und dann können Sie den Code im src/ Verzeichnis ändern.
Verwenden Sie den folgenden Befehl, um das Projekt während der Entwicklung durchzuführen:
go run ./srcFühlen Sie sich frei, eine Pull -Anfrage (PR) einzureichen oder ein Problem zu veröffentlichen, wenn Sie auf Fehler oder Fehler stoßen.
Diese Links waren während der gesamten Entwicklung dieses Projekts hilfreiche Ressourcen: