JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q41098F
  • License MIT

ClickTone is a lightweight helper for UI sound feedback. It wraps the Web Audio API, giving you instant click‑sounds with volume control, throttling, callbacks, and an iOS resume workaround.

Package Exports

  • clicktone
  • clicktone/dist/index.cjs.js
  • clicktone/dist/index.d.ts
  • clicktone/dist/index.es.js
  • clicktone/dist/index.umd.js

Readme


clicktone

npm GitHub package version NPM Downloads

ClickTone is a lightweight helper for UI sound feedback. It wraps the Web Audio API, giving you instant click‑sounds with volume control, throttling, callbacks, and an iOS resume workaround.

1.2kB gzipped

Demo


Install

yarn add clicktone

Import

import ClickTone from 'clicktone';

Usage

<audio preload="auto">
  <source id="click-source" src="./click.mp3" type="audio/mpeg" />
  <source src="./click.ogg" type="audio/ogg" />
</audio>
const sound = new ClickTone({
  // Any of the forms work:
  // file: './sound.mp3',
  // file: new URL('./sound.mp3', import.meta.url).href,
  // file: document.querySelector('#click-source') as HTMLSourceElement,
  file: { id: 'click-source' },

  volume: 0.7,
  throttle: 100,
  callback: () => console.log('done'),
  debug: true,
});

button.addEventListener('click', () => click.play());

ClickTone uses the Web Audio API, which supports many audio file formats: MP3, WAV, OGG, AAC and others. Note that not all browsers support these formats.
Tip: you can also override the source at call‑time: click.play('./alt.wav').

Options

Option Type Default Description
file string | HTMLSourceElement | { id: string } Audio source. Either a direct URL, an actual <source> element, or an object whose id maps to a <source> already in the DOM.
volume number 1 Playback volume 01.
callback ((error?: Error) => void) | null null Called after playback ends or if an error occurs.
throttle number 0 Debounce interval in ms. Playback requests arriving sooner are ignored.
debug boolean false Log internal errors/warnings to the console.

License

clicktone is released under MIT license.