A library that provides access to text-to-speech functionality.
expo-speech
provides an API that allows you to utilize Text-to-speech functionality in your app.
Android Device | Android Emulator | iOS Device | iOS Simulator | Web |
---|---|---|---|---|
-
npx expo install expo-speech
If you're installing this in a bare React Native app, you should also follow these additional installation instructions.
import * as React from 'react';
import { View, StyleSheet, Button } from 'react-native';
import * as Speech from 'expo-speech';
export default function App() {
const speak = () => {
const thingToSay = '1';
Speech.speak(thingToSay);
};
return (
<View style={styles.container}>
<Button title="Press to hear some words" onPress={speak} />
</View>
);
}
%%placeholder-start%%const styles = StyleSheet.create({ ... }); %%placeholder-end%%const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
backgroundColor: '#ecf0f1',
padding: 8,
},
});
import * as Speech from 'expo-speech';
Speech.maxSpeechInputLength
Type: number
Maximum possible text length acceptable by Speech.speak()
method. It is platform-dependent.
On iOS, this returns Number.MAX_VALUE
.
Speech.isSpeakingAsync()
Determine whether the Text-to-speech utility is currently speaking. Will return true
if speaker
is paused.
Returns
Promise<boolean>
Returns a Promise that fulfils with a boolean, true
if speaking, false
if not.
Speech.resume()
Resumes speaking previously paused speech or does nothing if there's none. This method is not available on Android.
Returns
Promise<void>
Speech.speak(text, options)
Name | Type | Description |
---|---|---|
text | string | The text to be spoken. Cannot be longer than |
options (optional) | SpeechOptions | A Default: {} |
Speak out loud the text given options. Calling this when another text is being spoken adds an utterance to queue.
Returns
void
SpeechEventCallback()
Name | Type | Description |
---|---|---|
this | SpeechSynthesisUtterance | - |
ev | SpeechSynthesisEvent | - |
SpeechOptions
Name | Type | Description |
---|---|---|
_voiceIndex (optional) | number | - |
language (optional) | string | The code of a language that should be used to read the |
onBoundary (optional) | NativeBoundaryEventCallback | SpeechEventCallback | null | A callback that is invoked when the spoken utterance reaches a word. |
onDone (optional) | () => void | SpeechEventCallback | A callback that is invoked when speaking finishes. |
onError (optional) | (error: Error) => void | SpeechEventCallback | Only for: Android iOS A callback that is invoked when an error occurred while speaking. |
onMark (optional) | SpeechEventCallback | null | - |
onPause (optional) | SpeechEventCallback | null | - |
onResume (optional) | SpeechEventCallback | null | - |
onStart (optional) | () => void | SpeechEventCallback | A callback that is invoked when speaking starts. |
onStopped (optional) | () => void | SpeechEventCallback | A callback that is invoked when speaking is stopped by calling |
pitch (optional) | number | Pitch of the voice to speak |
rate (optional) | number | Rate of the voice to speak |
voice (optional) | string | Voice identifier. |
volume (optional) | number | Only for: Web Volume of the voice to speak Default: 1.0 |
Voice
Object describing the available voices on the device.
Name | Type | Description |
---|---|---|
identifier | string | Voice unique identifier. |
language | string | Voice language. |
name | string | Voice name. |
quality | VoiceQuality | Voice quality. |
WebVoice
Voice
extended by:
Name | Type | Description |
---|---|---|
isDefault | boolean | - |
localService | boolean | - |
name | string | - |
voiceURI | string | - |