Speech
expo-speech
provides an API that allows you to utilize Text-to-speech functionality in your app.
Platform Compatibility
Android Device | Android Emulator | iOS Device | iOS Simulator | Web |
---|
| | | | |
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';
Maximum possible text length acceptable by Speech.speak()
method. It is platform-dependent. On iOS, this returns Number.MAX_VALUE
.
Speak out loud the text
given options
. Calling this when another text is being spoken adds an utterance to queue.
options (object) --
A map of options:
- voice (string) -- Voice identifier
- language (string) -- The code of a language that should be used to read the
text
, check out IETF BCP 47 to see valid codes. - pitch (number) -- Pitch of the voice to speak
text
. 1.0 is the normal pitch. - rate (number) -- Rate of the voice to speak
text
. 1.0 is the normal rate. - onStart (function) -- A callback that is invoked when speaking starts.
- onDone (function) -- A callback that is invoked when speaking finishes.
- onStopped (function) -- A callback that is invoked when speaking is stopped by calling
Speech.stop()
. - onError (function) -- (Android only). A callback that is invoked when an error occurred while speaking.
Interrupts current speech and deletes all in queue.
Pauses current speech. This method is not available on Android.
Resumes speaking previously paused speech or does nothing if there's none. This method is not available on Android.
Determine whether the Text-to-speech utility is currently speaking. Will return true
if speaker is paused.
Returns a Promise that resolves to a boolean, true
if speaking, false
if not.
Returns list of all available voices.
List of Voice
objects.
Voice
Field | Type |
---|
identifier | string |
name | string |
quality | enum Speech.VoiceQuality |
language | string |
VoiceQuality.Default
VoiceQuality.Enhanced
An error occurred when length of text
parameter provided to Speech.speak()
exceeds its limit. To see the limit, use Speech.maxSpeechInputLength
.