Node.js implementation for the MPRIS D-Bus Interface Specification to create a mediaplayer service.
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.MediaPlayer2org.mpris.MediaPlayer2.Playerorg.mpris.MediaPlayer2.TrackListorg.mpris.MediaPlayer2.Playlists
Examples are available in examples/.
player.on('quit', function () { process.exit(); });
Events:
raisequitfullscreen
Properties:
identitynamesupportedUriSchemessupportedMimeTypesdesktopEntry
// 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:
nextpreviouspauseplaypausestopplayseekopenloopStatusrateshufflevolume
Properties:
playbackStatusloopStatusrateshufflevolumemetadataminimumRatemaximumRatecanGoNextcanGoPreviouscanPlaycanPausecanSeekcanControl
Methods:
seeked(position)getPosition()(should be overridden to return the current position)
Events:
addTrackremoveTrackgoTo
Properties:
trackscanEditTracks
Methods:
addTrack(track)removeTrack(trackId)
Events:
activatePlaylist
Properties:
playlistsactivePlaylist
Methods:
setPlaylists(playlists)setActivePlaylist(playlistId)