Player module lets developers send media (loaded from specified URL) or speech (generated by TTS) to calls and conferences by using sendMediaTo function. Audio will be mixed automatically if sent from a few players to one stream.

Add the following line to your scenario code to use the module:

 require(Modules.Player);

All functions, events and classes of the module can be used only after this line.

Events

PlayerEvents.PlaybackFinished

The event is triggered when playback has finished successfully or in case of playback error

Properties
  • error: string

    Error message

  • player: Player

    Player that generated the event

PlayerEvents.PlaybackMarkerReached

The event is triggered when playback marker is reached

Properties
  • offset: Number

    The marker offset

  • player: Player

    Player that generated the event

Functions

VoxEngine.createTTSPlayer(text, language, ttsoptions)

Player

Create new audio player with specified text. TTS is used to play this text.

Media streams can later be attached using sendMediaTo() etc.
If text length exceeds 1500 characters the PlaybackFinished event is triggered with error description.
Parameters
  • text: String

    Text to say

  • language: String (optional)

    TTS language. List of all supported languages is available here.

  • ttsoptions: VoxEngine.TTSOptions (optional)

    Optional parameters for TTS. Note that support of the pitch parameter depends on the language and dictionary used. For unsupported combinations the PlaybackFinished event will be triggered with error 400.

Returns

VoxEngine.createToneScriptPlayer(script, loop)

Player

Create new audio player with specified ToneScript sequence

Media streams can later be attached using sendMediaTo() etc.
Example

 var player = VoxEngine.createToneScriptPlayer("425@-19;5(1/4/1)");
Parameters
  • script: String

    ToneScript string

  • loop: Boolean (optional)

    Looped playback

Returns

VoxEngine.createURLPlayer(url, loop)

Player

Creates a new audio player with specified audio file URL. Media streams can later be attached using sendMediaTo() etc. Supported formats are mp3 and ogg that means mp3, speex and vorbis codecs respectively.

Example

 var player = VoxEngine.createURLPlayer("https://direct/link/to/the/file.mp3", true);
Parameters
  • url: String

    URL of media file

  • loop: Boolean (optional)

    Looped playback

Returns

Example

 require(Modules.Player);

 var call,
 player;

 VoxEngine.addEventListener(AppEvents.CallAlerting, function(e) {
		call = e.call;
	  	call.answer();
		call.addEventListener(CallEvents.Connected, function(callevent) {
	      	// Play intro speech
	    	player = VoxEngine.createTTSPlayer("Hello, you have called VoxImplant Player demo", Language.US_ENGLISH_FEMALE);
	      	player.sendMediaTo(call);
	      	// When playback finished
	      	player.addEventListener(PlayerEvents.PlaybackFinished, function(playerevent) {
	          // Play mp3 file
	          player = VoxEngine.createURLPlayer("http://cdn.voximplant.com/yodl.mp3", true);
	          player.sendMediaTo(call);
	          setTimeout(VoxEngine.terminate, 10000); // end the session in 10 sec
	      	});
	  	});
	  	call.addEventListener(CallEvents.Disconnected, VoxEngine.terminate);
	});