@speechly/react-client
v2.2.4
Published
React client for Speechly Streaming API
Downloads
1,817
Readme
Website · Docs · Support · Blog · Login
Speechly React Client
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
- Getting started with Speechly
- Building a React app using Speechly React Client
- View example application
- API reference
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
- See contribution guide in CONTRIBUTING.md.
- Ask questions on GitHub Discussions