jiti-meet/modules/DTMF/DTMF.js

48 lines
1.2 KiB
JavaScript
Raw Normal View History

2015-04-07 16:01:19 +00:00
/* global APP */
/**
* A module for sending DTMF tones.
*/
var DTMFSender;
var initDtmfSender = function() {
// TODO: This needs to reset this if the peerconnection changes
// (e.g. the call is re-made)
if (DTMFSender)
return;
var localAudio = APP.RTC.localAudio;
if (localAudio && localAudio.getTracks().length > 0)
{
var peerconnection
= APP.xmpp.getConnection().jingle.activecall.peerconnection;
2015-04-07 16:01:19 +00:00
if (peerconnection) {
DTMFSender =
peerconnection.peerconnection
.createDTMFSender(localAudio.getTracks()[0]);
2015-04-07 16:01:19 +00:00
console.log("Initialized DTMFSender");
}
else {
console.log("Failed to initialize DTMFSender: no PeerConnection.");
}
}
else {
console.log("Failed to initialize DTMFSender: no audio track.");
}
};
var DTMF = {
sendTones: function (tones, duration, pause) {
2015-04-07 16:01:19 +00:00
if (!DTMFSender)
initDtmfSender();
if (DTMFSender){
DTMFSender.insertDTMF(tones,
(duration || 200),
(pause || 200));
2015-04-07 16:01:19 +00:00
}
}
};
module.exports = DTMF;