Check permissions status for speech recognition
Example:
const modules = await Eitri.modules()
if(!modules.speech){
return // speech module is unavailable, disable interfaces related to speech recognition
}
const speechStatus = await Eitri.speech.checkPermission()
console.log(speechStatus)
/* Example output from this console.log:
{
status: "DENIED",
}
*/
🚨 Android only: If executed before the first permission request, the default response is BLOCKED.
- Module:
speech- Install eitri-ios-speech or eitri-android-speech
Request permission for speech recognition
Example:
const modules = await Eitri.modules()
if(!modules.speech){
return // speech module is unavailable, disable interfaces related to speech recognition
}
const speechStatus = await Eitri.speech.requestPermission()
console.log(speechStatus)
/* Example output from this console.log:
{
status: "GRANTED",
}
*/
- Module:
speech- Install eitri-ios-speech or eitri-android-speech
Start speech recognition
Example:
try {
const modules = await Eitri.modules()
const speechRecognitionMethod = modules?.speech?.startSpeechRecognition
if(!speechRecognitionMethod){
return // startSpeechRecognition is unavailable, disable interfaces related to speech recognition
}
const permission = await Eitri.speech.checkPermission()
if (permission.status !== "GRANTED") {
// Handle permission denied or blocked
if (permission.status === "DENIED") {
const granted = await Eitri.speech.requestPermission()
if (granted.status !== "GRANTED") {
return // permission still not granted, exit or notify user
}
}
}
const result = await Eitri.speech.startSpeechRecognition({
language: "en-US"
})
console.log(result.text)
// Output: "Hello, world"
return
} catch (e) {
console.log(e)
// handle errors and notify user
}
- Module:
speech- Install eitri-ios-speech or eitri-android-speech
Optional input: SpeechRecognitionInputStart speech recognition with partial results, returning the unique channel name for the retrieval of results using EventBus.
The data sent to the EventBus will be of type SpeechPartialResultsDataChunk.
Example:
let speechPartialResultsOutput = null
try {
const modules = await Eitri.modules()
const speechRecognitionStreamMethod = modules?.speech?.startSpeechRecognitionStream
if(!speechRecognitionStreamMethod){
return // startSpeechRecognitionStream is unavailable, disable interfaces related to speech recognition with partial results
}
const permission = await Eitri.speech.checkPermission()
if (permission.status !== "GRANTED") {
// Handle permission denied or blocked
if (permission.status === "DENIED") {
const granted = await Eitri.speech.requestPermission()
if (granted.status !== "GRANTED") {
return // permission still not granted, exit or notify user
}
}
}
speechPartialResultsOutput = await speechRecognitionStreamMethod({language: "pt-br"})
Eitri.eventBus.subscribe({
channel: speechPartialResultsOutput.dataChannel,
callback: (result) => {
if (result.final) {
Eitri.eventBus.clear({channel: channel});
}
console.log(result.data.text);
// Output: "Ó"
// "Olá"
// "Olá mu"
// "Olá mundo"
}
});
}
} catch (e) {
console.log(e)
Eitri.eventBus.clear({channel: channel});
// handle errors and notify user
}
- Module:
speech- Install eitri-ios-speech or eitri-android-speech- MODULE API LEVEL
2- Functionality added
Optional input: SpeechRecognitionInputStop speech recognition
Example:
const modules = await Eitri.modules()
if (!modules.speech){
return // speech module is unavailable, disable interfaces related to speech recognition
}
await Eitri.speech.stopSpeechRecognition()
- Module:
speech- Install eitri-ios-speech or eitri-android-speech
Generated using TypeDoc