Valora
API Reference@valora-ai/reactindexFunctions

useTrackToggle

function useTrackToggle(source): {
  enabled: boolean;
  pending: boolean;
  toggle: (force?) => void;
};

Defined in: packages/react/src/hooks/track/useTrackToggle.ts:31

Enabled state + toggle for a local track. Only "microphone" is meaningful for the local agent; toggling flips agent.mute().

Parameters

ParameterType
source"microphone"

Returns

{
  enabled: boolean;
  pending: boolean;
  toggle: (force?) => void;
}

enabled

enabled: boolean;

pending

pending: boolean;

toggle

toggle: (force?) => void;

Parameters

ParameterType
force?boolean

Returns

void

Example

// Basic — wire a local microphone button.
const { enabled, toggle } = useTrackToggle("microphone");
return <button onClick={() => toggle()}>{enabled ? "Mute" : "Unmute"}</button>;

// Advanced — disable the control while a toggle is pending.
function MicrophoneControl() {
  const { enabled, pending, toggle } = useTrackToggle("microphone");
  return (
    <button disabled={pending} onClick={() => toggle()}>
      {enabled ? "Mute microphone" : "Unmute microphone"}
    </button>
  );
}

<VoiceRoom agent={agent}>
  <MicrophoneControl />
</VoiceRoom>;

On this page

Valora is local-first

No API key, no server — everything in this doc runs on-device.

Star on GitHub