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.
Installation
-
npx expo install expo-speech
If you are installing this in an existing React Native app, make sure to install expo
in your project.
Usage
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>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
backgroundColor: '#ecf0f1',
padding: 8,
},
});
API
import * as Speech from 'expo-speech';
Constants
Type: number
Maximum possible text length acceptable by Speech.speak()
method. It is platform-dependent.
On iOS, this returns Number.MAX_VALUE
.
Methods
Determine whether the Text-to-speech utility is currently speaking. Will return true
if speaker
is paused.
Promise<boolean>
Returns a Promise that fulfils with a boolean, true
if speaking, false
if not.
Pauses current speech. This method is not available on Android.
Promise<void>
Resumes speaking previously paused speech or does nothing if there's none. This method is not available on Android.
Promise<void>
Parameter | 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.
void
Interrupts current speech and deletes all in queue.
Promise<void>
Types
Parameter | Type |
---|---|
this | SpeechSynthesisUtterance |
ev | SpeechSynthesisEvent |
any
Property | 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 |
Object describing the available voices on the device.
Property | Type | Description |
---|---|---|
identifier | string | Voice unique identifier. |
language | string | Voice language. |
name | string | Voice name. |
quality | VoiceQuality | Voice quality. |
Type: Voice
extended by:
Property | Type | Description |
---|---|---|
isDefault | boolean | - |
localService | boolean | - |
name | string | - |
voiceURI | string | - |