@speechmatics/real-time-client-react
Version:
React hooks for interacting with the Speechmatics Real-Time API
62 lines (59 loc) • 1.41 kB
JavaScript
;
import { useContext, useCallback, useMemo } from 'react';
import { RealtimeContext } from './real-time-context.js';
function useRealtimeTranscription() {
const context = useContext(RealtimeContext);
if (context === null) {
throw new Error("Realtime client uninitialized in context");
}
const { client, sessionId, socketState } = context;
const startTranscription = useCallback(
(jwt, config) => {
return client.start(jwt, config);
},
[client]
);
const stopTranscription = useCallback(() => {
return client.stopRecognition();
}, [client]);
const sendAudio = useCallback(
(audio) => {
client.sendAudio(audio);
},
[client]
);
const setRecognitionConfig = useCallback(
(config) => {
client.setRecognitionConfig(config);
},
[client]
);
const getSpeakers = useCallback(
(options) => {
return client.getSpeakers(options);
},
[client]
);
return useMemo(
() => ({
sessionId,
socketState,
startTranscription,
stopTranscription,
sendAudio,
setRecognitionConfig,
getSpeakers
}),
[
sessionId,
socketState,
startTranscription,
stopTranscription,
sendAudio,
setRecognitionConfig,
getSpeakers
]
);
}
export { useRealtimeTranscription };
//# sourceMappingURL=use-real-time-transcription.js.map