React Native语音转文字

14

我正在制作一款语言学习应用程序,记录用户试图学习的任何新词汇。如果用户可以通过语音转文本程序添加单词,而不是手动输入,那将是很棒的。我在实现这个任务时遇到了麻烦。我知道苹果有一个API,但安卓没有。是否有可能使用API来实现这一点?例如,谷歌语音转文本API?但我想首先要能够访问设备的麦克风。作为初学者,使用web会很容易,但React Native对于这个任务来说还太年轻了吗?

4个回答

10
你可能需要查看 react-native-android-voice,它是一个React Native模块,支持Android的语音到文本功能。
如@delkant所提到的那样,现在也有react-native-voice,支持Android和iOS。
另外,你也可以使用Android的SpeechRecognizer API编写自定义原生模块。这里是你可能需要的所有类和接口的摘要。如果你熟悉开发原生Android应用程序,创建原生模块并将其绑定到React Native项目非常容易。这里是官方文档关于如何实现这一点的说明

谢谢。我会对此进行一些研究。 - Louis345
react-native-voice在iOS上有几个问题尚未解决。 它的表现不是很好。 - red-devil

6
您还可以使用React Native Voice这个语音转文字库。
该库适用于React Native,支持Android和iOS。

谢谢您的建议;但是您知道如何在用户开始讲话时显示 Android 麦克风对话框(或任何其他本地对话框)吗? - Mohammad
这在iOS上有几个问题。 - red-devil
@red-devil 你遇到了什么问题?它似乎运行得非常好,但是想知道需要注意什么。 - zeusstl

1

React Native在iOS端使用SFSpeechRecognizer进行语音识别,但其存在各种限制:https://developer.apple.com/documentation/speech/sfspeechrecognizer

准备好处理由语音识别限制引起的故障。因为语音识别是基于网络的服务,所以为了保持服务对所有应用程序的免费可用性,会实施限制。个别设备可能会受到每天可执行识别次数的限制,而每个应用程序可能会基于其每天发出请求的数量全局被节流。如果识别请求快速失败(在开始后的一两秒内),请检查识别服务是否不可用。如果是,则建议用户稍后重试。


0

仓库未得到维护。 - red-devil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接