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 |
---|---|---|---|---|
→
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';
Type: number
Maximum possible text length acceptable by Speech.speak()
method. It is platform-dependent.
On iOS, this returns Number.MAX_VALUE
.
Returns list of all available voices.
List of Voice
objects.
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.
Resumes speaking previously paused speech or does nothing if there's none. This method is not available on Android.
Promise<void>
Name | Type | Description |
---|---|---|
text | string | The text to be spoken. Cannot be longer than Speech.maxSpeechInputLength . |
options (optional) | SpeechOptions | A SpeechOptions object.Default: {} |
Speak out loud the text given options. Calling this when another text is being spoken adds an utterance to queue.
void
Name | Type | Description |
---|---|---|
this | SpeechSynthesisUtterance | - |
ev | SpeechSynthesisEvent | - |
Name | Type | Description |
---|---|---|
_voiceIndex (optional) | number | - |
language (optional) | string | The code of a language that should be used to read the text , refer to IETF BCP 47 to see
valid codes. |
onBoundary (optional) | SpeechEventCallback | null | - |
onMark (optional) | SpeechEventCallback | null | - |
onPause (optional) | SpeechEventCallback | null | - |
onResume (optional) | SpeechEventCallback | null | - |
pitch (optional) | number | Pitch of the voice to speak text . 1.0 is the normal pitch. |
rate (optional) | number | Rate of the voice to speak text . 1.0 is the normal rate. |
voice (optional) | string | Voice identifier. |
volume (optional) | number | Only for: Web
Volume of the voice to speak text . A number between 0.0 (muted) and 1.0 (max volume)Default: 1.0 |
onDone (optional) | () => void | A callback that is invoked when speaking finishes. |
onError (optional) | (error: Error) => void | Only for: Android
A callback that is invoked when an error occurred while speaking. |
onStart (optional) | () => void | A callback that is invoked when speaking starts. |
onStopped (optional) | () => void | A callback that is invoked when speaking is stopped by calling Speech.stop() . |
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. |
Voice
extended by:
Name | Type | Description |
---|---|---|
isDefault | boolean | - |
localService | boolean | - |
name | string | - |
voiceURI | string | - |
Enum representing the voice quality.
VoiceQuality.Default = "Default"
VoiceQuality.Enhanced = "Enhanced"