SkyWay MultiParty
日本語 | English
This is a library for easy implementation of group video chat with SkyWay(http://nttcom.github.io/skyway/).
Sample
multiparty = new MultiParty( {
"key": "********-****-****-****-************" ,
"reliable": true
});
multiparty.on('my_ms', function(video) {
var vNode = MultiParty.util.createVideoNode(video);
vNode.volume = 0;
$(vNode).appendTo("#streams");
}).on('peer_ms', function(video) {
var vNode = MultiParty.util.createVideoNode(video);
$(vNode).appendTo("#streams");
}).on('ms_close', function(peer_id) {
$("#"+peer_id).remove();
})
$("button").on('click', function(ev) {
multiparty.send('hello');
});
multiparty.on('message', function(mesg) {
$("p.receive").append(mesg.data + "<br>");
});
multiparty.start()
Demo page(local test)
- update your own APIKEY in line 57 of
examples/multiparty-sample.html
. $ npm install
$ npm run webpack-dev-server
Demo Page
Installing with NPM
$ npm install skyway-multiparty
You need to install SkyWay branch peerjs as well.
Download
API reference
MultiParty
var multiparty = new MultiParty([options]);
start
Connect to the SkyWay server and all peers.
multiparty.on
multiparty.on(event, callback);
'open'
multiparty.on('open', function(myid){ ... });
- Emitted when a connection to SkyWay server has established.
- id : id of current window.
'my_ms'
multiparty.on('my_ms', function({"src": <object url>, "id": <myid>}){...});
- Emitted when this window's video/audio stream has setuped. object url is the url for captured stream. id is current window's id.
- object url : url for captured stream.
- id : current window's id.
'peer_ms'
multiparty.on('peer_ms', function({"src": <object url>, "id": <peer-id>, "reconnect": <true or false>}){ ... });
- Emitted when peer's av stream has setuped.
- src : Object URL of peer's stream.
- id : peer's id.
- reconnect : true when connected via reconnect method.
'peer_ss'
multiparty.on('peer_ss', function({"src": <object url>, "id": <peer-id>, "reconnect": <true or false>}){ ... });
- Emitted when peer's screen captrure stream has setuped.
- src : Object URL of peer's screen capture stream.
- id : peer's id.
- reconnect : true when connected via reconnect method.
'ms_close'
multiparty.on('ms_close', function(peer-id){ ... });
- Emitted when peer's media stream has closed.
- peer-id : peer's id.
'ss_close'
multiparty.on('ss_close', function(peer-id){ ... });
- Emitted when peer's screen cast stream has closed.
- peer-id : peer's id.
'dc_open'
multiparty.on('dc_open', function(peer-id){ ... });
- Emitted when the connection for data channel with peer is setuped.
- peer-id : peer's id.
'message'
multiparty.on('message', function({"id": <peer-id>, "data": <data>}){ ... });
- Emitted when receive message from peer.
- peer-id : peer's id.
- data : Received data.
'dc_close'
multiparty.on('dc_close', function(peer-id){ ... });
- Emitted when data connection has closed with peer.
- peer-id : peer's id.
'error'
multiparty.on('error', function(error){ ... });
- Emitted when an error occurs.
- error : Error object.
mute
Mute current video/audio.
multiparty.mute({"video": <true of false>, "audio": <true or false>);
unmute
Unmute current video/audio.
multiparty.unmute({"video": <true of false>, "audio": <true or false>);
removePeer
Close peer's media stream and data stream.
multiparty.removePeer(peer-id);
send
Send data to every peer.
multiparty.send(data);
close
Close every connection.
multiparty.close();
startScreenShare
Start screen share.
multiparty.startScreenShare(function(stream){
}, function(err) {
});
stopScreenShare
Stop screen share.
multiparty.stopScreenShare();
listAllPeers
Get all of the connected peer ids.
multiparty.listAllPeers(function(lists) { ... });
reconnect
Reconnect the disconnected peer.
multiparty.reconnect(peer_id, function({"video": <boolean>, "screen": <boolean>, "data": <boolean>}){ ... });
MultiParty.util.createVideoNode
Create video node from Object URL.
var vNode = MultiParty.util.createVideoNode({"src": object_url, "id": peer_id}){ ... });
LICENSE & Copyright
LICENSE