You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@speechly/react-client

Package Overview
Dependencies
Maintainers
5
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@speechly/react-client

React client for Speechly Streaming API

2.2.4
latest
Source
npmnpm
Version published
Maintainers
5
Created
Source

speechly-logo-duo-black

Website  ·  Docs  ·  Support  ·  Blog  ·  Login


Speechly React Client

build npm license

Add voice features to any React app with Speechly React Client. It handles authentication, audio capture, network streaming and connection management with the Speechly Streaming API.

Documentation

Install

Using npm:

npm install @speechly/react-client

Using yarn:

yarn add @speechly/react-client

Usage

Wrap your app with the SpeechProvider context provider:

import { SpeechProvider } from '@speechly/react-client';

// Get your App ID from Speechly Dashboard (https://api.speechly.com/dashboard/)
// or by using Speechly CLI `list` command.

<SpeechProvider
  appId="YOUR-APP-ID"
  debug
  logSegments
>
  <App />
</SpeechProvider>

Capture browser microphone audio:

import { useSpeechContext } from '@speechly/react-client';

function App() {
  const { listening, segment, attachMicrophone, start, stop } = useSpeechContext();

  // Make sure that you call `attachMicrophone` from a user initiated
  // action handler, like a button press.

  const handleClick = async () => {
    if (listening) {
      await stop();
    } else {
      await attachMicrophone();
      await start();
    }
  };

  return (
    <button onClick={handleClick}>
      Start/stop microphone
    </button>
  );
}

React to API updates:

// Use `segment.isFinal` to check the segment state. When `false`,the segment might
// be updated several times. When `true`, the segment won’t be updated anymore and 
// subsequent callbacks within the same audio context refer to the next segment.

useEffect(() => {
  if (segment) {
    console.log('Tentative segment:', segment)
    if (segment.isFinal) {
      console.log('Final segment:', segment)
    }
  }
}, [segment]);

Contributing

Keywords

react

FAQs

Package last updated on 09 May 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts