Ready-to-use React components for Pipecat applications
<PipecatClientProvider client={pcClient}> {/* Child components */} </PipecatClientProvider>
PipecatClient
<audio>
<PipecatClientAudio />
<video>
<PipecatClientVideo participant="local" fit="cover" mirror onResize={({ aspectRatio, height, width }) => { console.log("Video dimensions changed:", { aspectRatio, height, width }); }} />
<PipecatClientCamToggle onCamEnabledChanged={(enabled) => console.log("Camera enabled:", enabled)} disabled={false} > {({ disabled, isCamEnabled, onClick }) => ( <button disabled={disabled} onClick={onClick}> {isCamEnabled ? "Disable Camera" : "Enable Camera"} </button> )} </PipecatClientCamToggle>
<PipecatClientMicToggle onMicEnabledChanged={(enabled) => console.log("Microphone enabled:", enabled)} disabled={false} > {({ disabled, isMicEnabled, onClick }) => ( <button disabled={disabled} onClick={onClick}> {isMicEnabled ? "Disable Microphone" : "Enable Microphone"} </button> )} </PipecatClientMicToggle>
<canvas>
<VoiceVisualizer participantType="local" backgroundColor="white" barColor="black" barGap={1} barWidth={4} barMaxHeight={24} />