audiocnSolid

useAudioDevices

The list of audio input or output devices, with permission state and live updates.

$ pnpm dlx shadcn@latest add @audiocn-solid/use-audio-devices

Usage

const audio = useAudioDevices();

return (
  <Show
    when={audio.permission !== "prompt"}
    fallback={
      <Button onClick={audio.requestPermission}>Allow microphone access</Button>
    }
  >
    <AudioDeviceSelect
      devices={audio.devices}
      value={deviceId()}
      onValueChange={setDeviceId}
    />
  </Show>
);

Browsers hide device names until the page has microphone access. Until then devices are labelled "Microphone 1", "Microphone 2" and so on.

Options

Prop

Type

Returns

Prop

Type