GithubHelp home page GithubHelp logo

node-mplayer-async's Introduction

node-mplayer-async

A node.js wrapper for MPlayer on Linux. It's currently focused on sound playing, more options and video playing will come later. Promises rely on the great q library

##Usage

First, install the module with (assuming you already installed MPlayer)

npm install node-mplayer-async

Then, you need to make a new instance of the module. The constructor of the module can take the path of the file to play.

var Mplayer = require('node-mplayer-async'); 

var player1 = new Mplayer('/home/node/Music/Kalimba.mp3');
var player2 = new Mplayer();

##Available methods

###play

This method will play the file defined when the player object was instanciated or setted with setFile(). This method MUST be called before any other. It can take in parameter an object that contains the volume and the number of times to play the file (see setVolume and setLoop).

player.play();
player.play({volume: 50});
player.play({volume: 50,
			loop: 10});

###stop

This method will stop the played file.

player.stop();

###pause

This one will toggle pause.

player.pause();

###mute

The method to toggle mute

player.mute();

###setVolume

This method is used to set the volume. It takes one parameter, the volume value that can go from 1 to 100.

player.setVolume(52);    //will set the volume to 52%

###seek

This method is used to navigate in the playing file. It take one parameter, the seek value in seconds that goes from 0 to the end of the file. This value is absolute.

player.seek(50);    //will go to 50 seconds

###setLoop

This will set the number of times to replay the file. The parameter is the number of times, -1 is forever.

player.setLoop(20);    //will play the file 20 times

###setSpeed

This will set the playing speed. It takes one parameter, the speed. 1 is the default speed.

player.setSpeed(0.5);    //will play the file 0.5x slower
player.setSpeed(20);    //will play the file 20x faster

###setFile

This one is used to set the file to play. The changes will take effect after calling the play() method. It takes the path of the file in parameter.

player.setFile('/home/node/Music/asdf.mp3');

###getTimeLength

Returns the length of the file in seconds. Returns a promise

player.getTimeLength()
.then(function(length){
    console.log(length);
}

###getTimePosition

Returns the elapsed play time in seconds. It needs a callback.

player.getTimePosition()
.then(function(length){
    console.log(length);
}

###getMetaData

Return metadata of the file that is played in the for of an object. {artist: "Some Artist", title: "Some Title", album: "Some Album"}

getMetaData()
.then(function(metaData){
    console.log(metaData);
});

##Events

###end

The end event is emitted when the file has ended.

###error

The error event is emitted when an error has ocurred.

##Stability

This module uses the readline module, which is currently marked unstable.

This module has been tested on Ubuntu 14.04 LTS with MPlayer 1.1-4.8.

node-mplayer-async's People

Contributors

lacrioque avatar loics2 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

lrenhrda

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.