2.0.3 • Published 6 months ago

voice-input v2.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

voice-input

voice-input allows you to easily add functionality to your website that enables voice input to the currently focused text area using shortcuts or buttons.

Install

npm install voice-input

Usage

<!doctype html>
<html lang="ja">
  <head>
    <meta charset="utf-8" />
    <title>voice-input example</title>
    <style>
      [data-voice-input]::after {
        content: ' on';
      }
      [data-voice-input='recording']::after {
        content: ' off';
      }
    </style>
  </head>
  <body>
    <p>
      <button data-voice-input>mic</button>
    </p>
    <div>
      <textarea>textarea</textarea>
    </div>
    <div>
      <div contenteditable>contenteditable</div>
    </div>
    <script type="module">
      import { setup } from 'voice-input';
      setup();
    </script>
  </body>
</html>

This will set up the voice input feature and you will be able to use voice input in the text area by pressing the mic button or entering the Alt+v shortcut key.

API

function setup(options: {
  // Supported language.
  lang?: string; // = navigator.language
  // Text insert callback.
  insertText?: (text: string) => boolean;
  // Enable interim text insertion.
  insertInterimTextMode?: boolean; // = false
  // Spectfying an attribute to update when change voice input state.
  stateAttribute?: string; // = 'data-voice-input',
  // Enable speech modal.
  composeModal?:
    | {
        className?: string;
        style?: Partial<CSSStyleDeclaration>;
      }
    | boolean; // = true
  // Specifying a keyboard shortcuts. Disable with empty string.
  // Uppercase letter requires shift key (ex. Alt+V = Alt+Shift+v).
  keyboardShortcut?: string; // = 'Alt+v'
  // Activate when pressing the key.
  keyboardShortcutLongPressMode?: boolean; // = false
  // Specifying a keyboard shortcut to confirm input. Disable with empty string.
  confirmKeyboarShortcut?: string; // = ''
  // Spectfying a button attribute to toggle voice input.
  toggleButtonAttribute?: string; // = 'data-voice-input',
  // Spectfying a button attribute to focus a text area.
  toggleButtonFocusAttribute?: string; // = 'data-voice-input-focus',
  // Plugin. For specific usage, please refer to src/VoiceInput.ts.
  plugins?: {
    dispose?: () => void;
    onUpdate?: (transcript: string) => void;
    onFinish?: () => void;
    onStateChange?: (state: { recording: boolean }) => void;
  }[];
}): void;
1.1.0

6 months ago

2.0.3

6 months ago

2.0.2

6 months ago

2.0.1

6 months ago

2.0.0

6 months ago

1.0.0

11 months ago

0.0.8

11 months ago

0.0.7

11 months ago

0.0.6

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago