Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只改变声音而不改变语言_Javascript_Reactjs_React Native_Text To Speech_Google Text To Speech - Fatal编程技术网

Javascript 只改变声音而不改变语言

Javascript 只改变声音而不改变语言,javascript,reactjs,react-native,text-to-speech,google-text-to-speech,Javascript,Reactjs,React Native,Text To Speech,Google Text To Speech,我正在用react native制作一个应用程序,并使用react native tts包进行语音合成。我希望用户从手机中已经安装的语言中选择一种语言。我有一个语言选择屏幕,从中我将数据输入异步存储器,还有一个使用tts的屏幕。此屏幕从异步存储器获取数据,并使用该语言进行语音合成。但是,当我从选择屏幕中选择语言时,Tts语言仅在语言为英语(例如en In或en US)时才会更改 以下是语言选择屏幕中使用的代码 changeLanguage = async () => { await

我正在用react native制作一个应用程序,并使用react native tts包进行语音合成。我希望用户从手机中已经安装的语言中选择一种语言。我有一个语言选择屏幕,从中我将数据输入异步存储器,还有一个使用tts的屏幕。此屏幕从异步存储器获取数据,并使用该语言进行语音合成。但是,当我从选择屏幕中选择语言时,Tts语言仅在语言为英语(例如en In或en US)时才会更改

以下是语言选择屏幕中使用的代码

changeLanguage = async () => {
    await AsyncStorage.setItem('LanguageId', this.state.selectedLanguage.id); // The voice Id
    await AsyncStorage.setItem('Language', this.state.selectedLanguage.code); // The language code, 'en-IN' or 'en-US'
}
下面是使用Tts的屏幕的代码

async onReceiveFocus() {
    const languageCode = await AsyncStorage.getItem('Language');

    this.setState({
        languageCode: languageCode
    }); // Setting the state for other uses

    Tts.setDefaultLanguage(languageCode);
}

解决方法:我只需卸载语言的语音数据并重新安装,它就开始工作了。我不知道为什么会发生这样的事情。问题解决了:我只需卸载语言的语音数据并重新安装,它就开始工作了。我不知道为什么会发生这样的事情。