Skip to main content
Emitted when the SDK receives a remote audio stream and audio playback begins. This event exposes the raw MediaStream for advanced audio processing such as visualization, recording, or custom routing. This event is opt-in. To enable it, set captureAudio: true in the client configuration.
The SDK plays remote audio automatically via an internal Audio element. You don’t need to handle the captureAudio event for basic playback — it’s only needed for advanced use cases.

Category

Audio

Callback Parameters

ParameterTypeDescription
streamMediaStreamThe remote audio stream

Example

const client = await createWebRTCClient({
  endpointUrl: 'https://your-cognigy-environment.com/click-to-call-config',
  userId: 'user-123',
  captureAudio: true,
});

client.on('captureAudio', (stream) => {
  console.log('Audio stream available:', stream.getAudioTracks());
});

Advanced: Audio Processing with Web Audio API

client.on('captureAudio', (stream) => {
  const audioContext = new AudioContext();
  const source = audioContext.createMediaStreamSource(stream);

  const analyser = audioContext.createAnalyser();
  source.connect(analyser);
  // Don't connect to destination — the SDK already handles playback
});

More Information