The Pipecat client handles media at two levels: local devices (the user’s mic, camera, and speakers) and media tracks (the live audio/video streams flowing between client and bot). This page covers how to work with both.Documentation Index
Fetch the complete documentation index at: https://daily-docs-flows-pr-263.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Bot audio output
Microphone
Enabling and muting
SetenableMic: true in the constructor to start the session with the mic active. This is the default:
Switching microphones
Camera
Camera is disabled by default. Enable it in the constructor:Not all transports support video.
enableCam has no effect on transports that
don’t support it (e.g. WebSocket).Speakers
Device initialization before connecting
By default, device access is requested whenconnect() is called. If you want to enumerate or test devices before the session starts — for example, to show a device picker pre-call — call initDevices() first:
Media tracks
For advanced use cases — custom rendering, audio processing, recording — you can access the rawMediaStreamTrack objects directly.