Node.js implementation for the MPRIS D-Bus Interface Specification to create a mediaplayer service
npm install mpris-service
Node.js implementation for the MPRIS D-Bus Interface Specification to create a mediaplayer service.
``js
var Player = require('mpris-service');
var player = Player({
name: 'nodejs',
identity: 'Node.js media player',
supportedUriSchemes: ['file'],
supportedMimeTypes: ['audio/mpeg', 'application/ogg'],
supportedInterfaces: ['player']
});
`
Implemented interfaces:
* org.mpris.MediaPlayer2
* org.mpris.MediaPlayer2.Player
* org.mpris.MediaPlayer2.TrackList
* org.mpris.MediaPlayer2.Playlists
Examples are available in examples/.
`js`
player.on('quit', function () {
process.exit();
});
Events:
* raisequit
* fullscreen
*
Properties:
* identityname
* supportedUriSchemes
* supportedMimeTypes
* desktopEntry
*
`js
// See http://www.freedesktop.org/wiki/Specifications/mpris-spec/metadata/
player.metadata = {
'mpris:trackid': player.objectPath('track/0'),
'mpris:length': 60 1000 1000, // In microseconds
'mpris:artUrl': 'https://pbs.twimg.com/profile_images/378800000822867536/3f5a00acf72df93528b6bb7cd0a4fd0c.jpeg',
'xesam:title': 'Best song',
'xesam:album': 'Best album',
'xesam:artist': ['Best singer']
};
player.playbackStatus = 'Playing';
`
See examples/player.js.
Events:
* nextprevious
* pause
* playpause
* stop
* play
* seek
* open
* loopStatus
* rate
* shuffle
* volume
*
Properties:
* playbackStatusloopStatus
* rate
* shuffle
* volume
* metadata
* minimumRate
* maximumRate
* canGoNext
* canGoPrevious
* canPlay
* canPause
* canSeek
* canControl
*
Methods:
* seeked(position)getPosition()
* (should be overridden to return the current position)
Events:
* addTrackremoveTrack
* goTo
*
Properties:
* trackscanEditTracks
*
Methods:
* addTrack(track)removeTrack(trackId)
*
Events:
* activatePlaylist
Properties:
* playlistsactivePlaylist
*
Methods:
* setPlaylists(playlists)setActivePlaylist(playlistId)`
*