Speech Recognition: “Network error” on startListening() Android 6/7

依然范特西╮ 提交于 2019-12-11 04:53:49

问题


When I run the code below, as soon as the beep sounds to start recording the mic, I get "Network error":

I have no idea what's wrong here. I've:

  • added the: cordova plugin + npm module correctly,
  • granted permissions in the app for microphone
  • tried connected to WIfi
  • tried connected to 4g
  • tried removing and re-adding the android platform to the project
  • tried on 2 different phones (samsung s5 android 6 / sony xperia z5c android 7)

Here's my basic code, nothing special here:

  setupSpeechRecognition() {
    this.speechRecognition.requestPermission().then(() => {
        this.speechRecognition.startListening().subscribe(
            (matches) => {
              // matches here...
            },
            (onerror) => {
              alert("Error: " + JSON.stringify(onerror));
            }
        );          
      },
      () => {}
    );      
  }

And here's my AndroidManifest.xml for kicks:

<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="io.ionic.starter" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@mipmap/icon" android:label="@string/app_name" android:supportsRtl="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name="cordova.plugins.Diagnostic$LocationProviderChangedReceiver">
            <intent-filter>
                <action android:name="android.location.PROVIDERS_CHANGED" />
            </intent-filter>
        </receiver>
        <receiver android:name="cordova.plugins.Diagnostic$NFCStateChangedReceiver">
            <intent-filter>
                <action android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
            </intent-filter>
        </receiver>
    </application>
    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="25" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

Any ideas? Thanks!

来源:https://stackoverflow.com/questions/44454588/speech-recognition-network-error-on-startlistening-android-6-7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!