mplayer-wrapper
v2.0.0
Published
Let an mplayer instance play media.
Downloads
7
Maintainers
Readme
mplayer-wrapper
Let an mplayer
instance play media.
Note: mpv
is a fork of mplayer
and much nicer to work with. You might want to use mpv-wrapper
instead.
Installing
npm install mplayer-wrapper
Usage
const createPlayer = require('mplayer-wrapper')
const player = createPlayer()
player.queue('path/to/audio-1.mp3')
player.queue('path/to/audio-2.ogg')
player.queue('http://example.org/audio-3.ogg')
player.on('time_pos', (val) => {
console.log('track progress is', val)
})
setInterval(() => {
player.getProps(['time_pos'])
}, 2 * 1000)
player.on('metadata', console.log)
player.on('track-change', () => player.getProps(['metadata']))
API
Methods
player.exec(command, args = [])
: Send a command to mplayer. See the list.player.getProps(props)
: Request values for one or more props. Runmplayer -list-properties
for a list.player.play(fileOrUrl)
: Discard the current queue, play this file.player.queue(fileOrUrl)
: Add this file to the queue.player.next()
: Jump to the next file in the queue.player.previous()
: Jump to the previous file in the queue.player.playPause()
: Toggle pause.player.seek(pos)
: Seek to a position in seconds. Prepend+
/-
for relative seeking.player.seekPercent(pos)
: Seek to a position in percent of the file. E.g.30
.player.setVolume(amount)
: Set the volume.0
is silent,100
is maximum.player.stop
: Stop playing.player.close
: Stop playing, close the mplayer instance.
Events
feed.on('prop', name, val)
: The value for a prop has been requested (e.g. usinggetProps
), and we now know the value.feed.on(propName, val)
: A shorthand for theprop
event.feed.on('track-change')
: A new track/file is playing now.
Known Issues
mplayer
doesn't print metadata properly (e.g. Unicode,,
and other special characters), thereforemplayer-wrapper
doesn't expose it properly.
Related
mpv-wrapper
– Let anmpv
instance play media.
Contributing
If you have a question or have difficulties using mplayer-wrapper
, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, refer to the issues page.