Service Type: http://webinos.org/api/mediaplay
webinos mediaplay api provides the interface to remotely control uPnP devices.
To install the device discovery API you will need to npm the node module inside the webinos pzp.
For end users, you can simply open a command prompt in the root of your webinos-pzp and do:
npm install https://github.com/webinos/webinos-api-mediaplay.git
For developers that want to tweak the API, you should fork this repository and clone your fork inside the node_module of your pzp.
cd node_modules
git clone https://github.com/<your GitHub account>/webinos-api-mediaplay.git
cd webinos-api-mediaplay
npm install
To discover the service you will have to search for the "http://webinos.org/api/discovery" type. Example:
var serviceType = "http://webinos.org/api/mediaplay";
webinos.discovery.findServices( new ServiceType(serviceType),
{
onFound: serviceFoundFn,
onError: handleErrorFn
}
);
function serviceFoundFn(service){
// Do something with the service
};
function handleErrorFn(error){
// Notify user
console.log(error.message);
}
Alternatively you can use the webinos dashboard to allow the user choose the mediaplay API to use. Example:
webinos.dashboard.open({
module:'explorer',
data:{
service:[
'http://webinos.org/api/mediaplay'
],
select:"services"
}
}).onAction(function successFn(data){
if (data.result.length > 0){
// User selected some services
}
});
Once you have a reference to an instance of a service you can use the following methods:
Add listener for the specified events. To use this method you should pass an object with the following structure:
listeners{
onStop: function(){ ... },
onEnd: function(){ ... },
onPlay: function(){ ... },
onPause: function(){ ... },
onVolumeUP: function(){ ... },
onVolumeDOWN: function(){ ... },
onVolumeSet: function(){ ... }
}
Unregister all listeners.
Gets is the player is playing some media.
Play the given URI.
Toggle play pause state of the media.
Fast fwd or bwd based on the step.
Stop playing the media.
Set the media volume to the given value.
Set the playback speed.
Display media info.
Toggle subtitles visibility.