Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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
Reactjs 我正在做一个项目,我需要把演讲翻译成我在世博会上用过的文字,并用母语做出反应_Reactjs_React Native_Expo_Speech To Text_React Native Voice - Fatal编程技术网

Reactjs 我正在做一个项目,我需要把演讲翻译成我在世博会上用过的文字,并用母语做出反应

Reactjs 我正在做一个项目,我需要把演讲翻译成我在世博会上用过的文字,并用母语做出反应,reactjs,react-native,expo,speech-to-text,react-native-voice,Reactjs,React Native,Expo,Speech To Text,React Native Voice,我正在做一个项目,我需要把演讲翻译成我在世博会上用过的文字,并用母语做出反应。 **[未处理的承诺拒绝:TypeError:null不是对象(计算'Voice.onSpeechStart=null')] -removeAllListeners中的节点\u modules\react native voice\src\index.js:23:10 -tryCallOne中的node\u modules\promise\setimmediate\core.js:37:14 - ... 9个以上的堆栈

我正在做一个项目,我需要把演讲翻译成我在世博会上用过的文字,并用母语做出反应。 **[未处理的承诺拒绝:TypeError:null不是对象(计算'Voice.onSpeechStart=null')] -removeAllListeners中的节点\u modules\react native voice\src\index.js:23:10 -tryCallOne中的node\u modules\promise\setimmediate\core.js:37:14 - ... 9个以上的堆栈帧

从“React”导入React;
从“react native”导入{样式表、文本、视图、TouchableOpacity};
从“react National Voice”导入语音;
从“expo Permissions”导入*作为权限;
导出默认类App扩展React.Component{
构造函数(){
超级();
此.state={
结果:[],
};
Voice.onSpeechStart=this.onSpeechStart;
Voice.onSpeechRecognized=this.onSpeechRecognized;
Voice.onSpeechEnd=this.onSpeechEnd;
Voice.onSpeechError=this.onSpeechError;
Voice.onSpeechResults=this.onSpeechResults;
Voice.onSpeechPartialResults=this.onSpeechPartialResults;
Voice.onSpeechVolumeChanged=this.onSpeechVolumeChanged;
}
异步组件didmount(){
const{status}=wait Permissions.askAsync(
录音
);
}
组件willmount(){
Voice.destroy().then(Voice.removeAllListeners)
}
onSpeechStart=(e)=>{
console.log('onSpeechStart',e);
};
OnSpeechRecognited=(e)=>{
console.log('onSpeechRecognized',e);
}
速度=(e)=>{
console.log('onSpeechEnd'+e);
}
onSpeechError=(e)=>{
console.log('onSpeechError');
}
onSpeechResults=e=>{
console.log('onSpeechResults'+e);
这是我的国家({
结果:e.value,
});
}
onSpeechPartialResults=e=>{
log('onSpeechPartialResults'+e.value);
}
onSpeechVolumeChanged=e=>{
log('onSpeechVolumeChanged');
}
_StartRecogniting=async()=>{
试一试{
等待声音。开始('en-US')
}捕获(e){
控制台错误(e);
}
}
_停止识别=异步()=>{
试一试{
等待声音
}捕获(e){
控制台错误(e);
}
}
render(){
返回(
开始
停止
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
背景颜色:“fff”,
对齐项目:“中心”,
辩护内容:“中心”,
},

});不幸的是,
react母语与Expo不兼容

这样做的原因是Expo将本机iOS和Android代码从您身边抽象出来,这使得构建和开发变得快速而容易,但缺点是您无法添加需要使用本机代码的依赖项

react native voice
要求使用本机代码。从安装说明要求链接本机代码这一事实可以看出这一点。有关文档,请参阅

如果您希望在Expo项目中使用此依赖项,则需要将其弹出。你可以在世博会文档网站上找到更多关于弹出的信息,以及这样做的优缺点