Creates VADAudioAnalyser
JitsiConference instance that created us.
Function that creates a Voice activity detection processor. The processor needs to implement the following functions:
Removes the specified listener
from the listener array for the event namedeventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
will remove, at most, one instance of a listener from the
listener array. If any single listener has been added multiple times to the
listener array for the specified eventName
, then removeListener()
must be
called multiple times to remove each instance.
Once an event is emitted, all listeners attached to it at the
time of emitting are called in order. This implies that anyremoveListener()
or removeAllListeners()
calls after emitting and_before_ the last listener finishes execution will
not remove them fromemit()
in progress. Subsequent events behave as expected.
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
Because listeners are managed using an internal array, calling this will
change the position indices of any listener registered after the listener
being removed. This will not impact the order in which listeners are called,
but it means that any copies of the listener array as returned by
the emitter.listeners()
method will need to be recreated.
When a single function has been added as a handler multiple times for a single
event (as in the example below), removeListener()
will remove the most
recently added instance. In the example the once('ping')
listener is removed:
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
Returns a reference to the EventEmitter
, so that calls can be chained.
Change the isMuted state of all attached detection services.
Listens for TrackVADEmitter events and directs them to attached services as needed.
VAD score emitted by TrackVADEmitter
Exact time at which processed PCM sample was generated.
VAD score on a scale from 0 to 1 (i.e. 0.7)
Device id of the associated track.
Start the TrackVADEmitter and attach the event listener.
Stop the TrackVADEmitter and detach the event listener.
Notifies the detector that a track was added to the associated JitsiConference. Only take into account local audio tracks.
The added track.
Notifies the detector that the mute state of a JitsiConference track has changed. Only takes into account local audio tracks.
The track whose mute state has changed.
Notifies the detector that a track associated with the JitsiConference was removed. Only takes into account local audio tracks. Cleans up resources associated with the track and resets the processing context.
The removed track.
Attach a VAD detector service to the analyser and handle it's state changes.
Connects a TrackVADEmitter to the target conference local audio track and manages various services that use the data to produce audio analytics (VADTalkMutedDetection and VADNoiseDetection).