无法使用react-native-voice软件包

gr8qqesn  于 2022-11-25  发布在  React
关注(0)|答案(2)|浏览(178)

我正在尝试使用react-native-voice包。在我的项目中,按下按钮时,我正在调用Voice.start('en-US')方法。但它显示以下错误,

Possible Unhandled Promise Rejection(id: 0):
TypeError: null is not an object (evaluating 'Voice.startSpeech')

我自动和手动都链接了,都不行
边注:我使用expo eject将项目从expo管理的工作流中弹出

zbsbpyhn

zbsbpyhn1#

正如您在documentation中看到的,它们在构造函数中有init Voice
"试试这个"

constructor(props) {
    Voice.onSpeechStart = this.onSpeechStartHandler.bind(this);
    Voice.onSpeechEnd = this.onSpeechEndHandler.bind(this);
    Voice.onSpeechResults = this.onSpeechResultsHandler.bind(this);  
 }   

onSpeechStartHandler = () => {}

 onSpeechEndHandler = () => {}

 onSpeechResultsHandler = () => {}

onStartButtonPress(e){
    Voice.start('en-US');   
}

还要检查权限
https://github.com/react-native-voice/voice#permissions

k4emjkb1

k4emjkb12#

我在开发一个带有react-native-voice包的react native应用时遇到了同样的问题。我按照工作流程的每一步操作,似乎没有什么问题。expo run:android构建成功。然后我的Android模拟器/物理设备上的expo start --dev-client都抛出了这个错误:
[未处理的承诺拒绝:TypeError:null不是对象(评估'Voice. isSpeechAvailable')]
最后,我发现,一个需要在vscode中打开两个终端,一个终端运行exp start(同时连接到您的设备),另一个终端同时运行expo run:android
然后应用程序就像一个魅力一样在设备上运行了!希望这能有所帮助,并希望有人能解释更多关于react-native/expo测试开发是如何工作的?

相关问题