Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

DTMF.js 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* global APP */
  2. /**
  3. * A module for sending DTMF tones.
  4. */
  5. var DTMFSender;
  6. var initDtmfSender = function() {
  7. // TODO: This needs to reset this if the peerconnection changes
  8. // (e.g. the call is re-made)
  9. if (DTMFSender)
  10. return;
  11. var localAudio = APP.RTC.localAudio;
  12. if (localAudio && localAudio.getTracks().length > 0)
  13. {
  14. var peerconnection =
  15. APP.xmpp.getConnection().jingle.activecall.peerconnection.peerconnection;
  16. if (peerconnection) {
  17. DTMFSender =
  18. peerconnection.createDTMFSender(localAudio.getTracks()[0]);
  19. console.log("Initialized DTMFSender");
  20. }
  21. else {
  22. console.log("Failed to initialize DTMFSender: no PeerConnection.");
  23. }
  24. }
  25. else {
  26. console.log("Failed to initialize DTMFSender: no audio track.");
  27. }
  28. };
  29. var DTMF = {
  30. sendTones: function (tones) {
  31. if (!DTMFSender)
  32. initDtmfSender();
  33. if (DTMFSender){
  34. DTMFSender.insertDTMF(tones);
  35. }
  36. }
  37. };
  38. module.exports = DTMF;