我正在尝试使用 react native 对文本进行一些语音识别。我写了一个反应模块来启动识别器意图
public class SpeechToTextModule extends ReactContextBaseJavaModule {
...
@ReactMethod
public void startListening(Callback errorCallback, Callback successCallback) {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
if(getCurrentActivity() != null){
getReactApplicationContext().startActivityForResult(intent, SPEECH_REQUEST_CODE, null);
} else {
errorCallback.invoke(new NullPointerException("Activity is null"));
}
}
public void onActivityResult(int requestCode, int resultCode, Intent data){
// control must come here
}
Run Code Online (Sandbox Code Playgroud)
主要活动如下所示:
public class MainActivity extends ReactActivity {
...
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// how do i invoke the module …
Run Code Online (Sandbox Code Playgroud)