MediaPlayer Service
Overview
MediaPlayer service controls playback of media from a playlist using one provided from agl-service-mediascanner and reports status via events.
Verbs
Name | Description | JSON Parameters |
---|---|---|
subscribe | subscribe to respectice events | Request: {"value": "playlist"} |
unsubscribe | unsubscribe to respective events | Request: {"value": "playlist"} |
controls | controls for media playback | See MediaPlayer Controls section |
metadata | get current metadata of selected media | See metadata Reporting section |
playlist | get current playlist of media | See playlist JSON Response section |
MediaPlayer Controls
Media playback can be controlled with sending on the following action commands within a JSON request within the parameter of value (i.e. {"value": "play"})
Name | Description | JSON Request Example |
---|---|---|
play | start playing media | {"value": "play} |
pause | stop playing media | {"value": "pause"} |
previous | skip to previous item in playlist | {"value": "previous"} |
next | skip to next item in playlist | {"value": "next"} |
seek | seek position (in milliseconds) within current track | {"value": "seek", "position": 50000} |
fast-forward | seek forward (in milliseconds) within current track | {"value": "fast-forward", "position": 2000} |
rewind | seek backward (in milliseconds) within current track | {"value": "rewind", "position": 2000} |
pick-track | select media item in playlist via index number | {"value": "pick-track", "index": 4} |
volume | set volume 0-100% for media stream | {"value": "volume, "volume": 40} |
loop | loop playlist | {"value": "loop", "state": "true"} |
metadata Reporting
JSON response for metadata request parameters
Name | Description |
---|---|
index | index number within playlist |
duration | length of track in milliseconds |
position | current position in milliseconds |
volume | current volume in percent |
path | path to media on filesystem |
title | title for current track |
album | album name for current track |
artist | artist name for current track |
genre | genre type for current track |
image | (optional) base64 encoded data URI for album art |
playlist JSON Response
JSON response is an array of playlist entries with the parameter name of list.
Name | Description |
---|---|
index | index number within playlist |
duration | (optional) length of track in milliseconds |
path | path to media on filesystem |
title | title for playlist entry |
album | album name for playlist entry |
artist | artist name for playlist entry |
genre | genre type for playlist entry |
Events
Name | Description |
---|---|
playlist | event that reports playlist changes |
metadata | event that reports playback status |
playlist Event Notes
JSON response data is an array of the same fields documented in playlist JSON Response section
metadata Event Notes
JSON response data is the same fields documented in metadata Reporting section with the exception of album art due to performance issues