Browse Source

语音识别版本1.0稳定

FANGLH 9 years ago
parent
commit
5466cb7c73

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/audio/voicerecognition/MyRecognizerDialogLister.java

@@ -23,6 +23,7 @@ public class MyRecognizerDialogLister implements RecognizerDialogListener {
         String text = JsonParser.parseIatResult(results.getResultString());
         System.out.println(text);
         Toast.makeText(mContext, text, Toast.LENGTH_LONG).show();
+
     }
     /**
      * 识别回调错误.

+ 14 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/audio/voicerecognition/VoiceToWord.java

@@ -14,7 +14,7 @@ import com.iflytek.cloud.speech.SpeechRecognizer;
 import com.iflytek.cloud.speech.SpeechUser;
 import com.iflytek.cloud.ui.RecognizerDialog;
 import com.iflytek.cloud.ui.RecognizerDialogListener;
-import com.xzjmyk.pm.activity.audio.voicerecognition.MyRecognizerDialogLister;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 
 public class VoiceToWord extends Activity{
 	private Context context;
@@ -116,21 +116,26 @@ public class VoiceToWord extends Activity{
 		{
 			iatDialog.setParameter(SpeechConstant.SAMPLE_RATE, "16000");
 		}
+		LogUtil.d("recognizerDialogListener="+recognizerDialogListener);
 		if(recognizerDialogListener == null)
 		{
-			getRecognizerDialogListener();
+		//	getRecognizerDialogListener();
 		}
 		//显示听写对话框
 		iatDialog.setListener(recognizerDialogListener);
 		iatDialog.show();
 	}
-	private void getRecognizerDialogListener()
-	{
-		/**
-		 * 识别回调监听器
-		 */
-		recognizerDialogListener=new MyRecognizerDialogLister(context);
-	}
+//	private void getRecognizerDialogListener()
+//	{
+//		/**
+//		 * 识别回调监听器
+//		 */
+//		recognizerDialogListener=;
+//	}
+
+	public void setRecognizerDialogListener( RecognizerDialogListener recognizerDialogListener){
+		this.recognizerDialogListener=recognizerDialogListener;
+	};
 
 	/**
 	 * 用户登录回调监听器.

+ 3 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/SettingActivity.java

@@ -144,7 +144,9 @@ public class SettingActivity extends ActionBackActivity implements View.OnClickL
          boolean sbb = isServiceRunning(uustep_service_name);
         if (isServiceRunning(uustep_service_name)&&(isStep == -1 || isStep == 1)){
             uu_step_reply.setChecked(true);
+            speech_recognition_rl.setVisibility(View.VISIBLE);
         }else {
+            speech_recognition_rl.setVisibility(View.GONE);
             uu_step_reply.setChecked(false);
         }
 
@@ -161,6 +163,7 @@ public class SettingActivity extends ActionBackActivity implements View.OnClickL
                     PreferenceUtils.putInt(MainActivity.UU_STEP, 0);
 //                    stopService(intent);
                     Toast.makeText(mContext, "您已预关闭UU运动,下次重启应用时将不再开启UU运动", Toast.LENGTH_LONG).show();
+                    speech_recognition_rl.setVisibility(View.GONE);
                 }
             }
         });

+ 25 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/SpeechrecognitionActivity.java

@@ -4,34 +4,55 @@ import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.Toast;
 
+import com.iflytek.cloud.speech.RecognizerResult;
+import com.iflytek.cloud.speech.SpeechError;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
 import com.xzjmyk.pm.activity.audio.voicerecognition.VoiceToWord;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-
+import com.iflytek.cloud.ui.RecognizerDialogListener;
 /**
  * Created by FANGlh on 2017/1/11.
  * function:
  */
-public class SpeechrecognitionActivity extends BaseActivity {
+public class SpeechrecognitionActivity extends BaseActivity implements RecognizerDialogListener{
 
     private EditText identify_words_et;
     private Button speak_start_bt;
 
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.speech_recognition);
+        getSupportActionBar().setTitle("语音识别");
 
         identify_words_et = (EditText) findViewById(R.id.sr_identify_words_et);
         speak_start_bt = (Button) findViewById(R.id.sr_speak_start_bt);
-
+        final  VoiceToWord voice = new VoiceToWord(SpeechrecognitionActivity.this,"534e3fe2");
+        voice.setRecognizerDialogListener(this);  //自己调用自己
         speak_start_bt.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                VoiceToWord voice = new VoiceToWord(SpeechrecognitionActivity.this,"534e3fe2");
                 voice.GetWordFromVoice();
+                identify_words_et.setText("");
             }
         });
     }
+
+    @Override
+    public void onResult(RecognizerResult recognizerResult, boolean b) {
+        // TODO Auto-generated method stub
+        String text = JsonParser.parseIatResult(recognizerResult.getResultString());
+        System.out.println(text);
+        Toast.makeText(mContext, text, Toast.LENGTH_LONG).show();
+        identify_words_et.setText(text);
+    }
+
+    @Override
+    public void onError(SpeechError speechError) {
+
+    }
 }

BIN
WeiChat/src/main/jniLibs/armeabi-v7a/libmsc.so


BIN
WeiChat/src/main/jniLibs/armeabi/libmsc.so


BIN
WeiChat/src/main/jniLibs/mips/libmsc.so


BIN
WeiChat/src/main/jniLibs/mips64/libmsc.so


BIN
WeiChat/src/main/jniLibs/x86/libmsc.so


BIN
WeiChat/src/main/jniLibs/x86_64/libmsc.so