美文网首页
系统自带语音识别

系统自带语音识别

作者: 菜鸟何时起飞 | 来源:发表于2020-05-31 21:10 被阅读0次
class MainActivity : AppCompatActivity(), RecognitionListener {
    override fun onReadyForSpeech(params: Bundle?) {
        Log.i("cccccccc","onReadyForSpeech===")
    }

    override fun onRmsChanged(rmsdB: Float) {
        Log.i("cccccccc","onRmsChanged===")
    }

    override fun onBufferReceived(buffer: ByteArray?) {
        Log.i("cccccccc","onBufferReceived===")
    }

    override fun onPartialResults(partialResults: Bundle?) {
        Log.i("cccccccc","onPartialResults===")
    }

    override fun onEvent(eventType: Int, params: Bundle?) {
        Log.i("cccccccc","onEvent===")
    }

    override fun onBeginningOfSpeech() {
        Log.i("cccccccc","onBeginningOfSpeech===")
    }

    override fun onEndOfSpeech() {
        Log.i("cccccccc","onEndOfSpeech===")
    }

    override fun onError(error: Int) {
        Log.i("cccccccc","onError===")
    }

    override fun onResults(results: Bundle?) {
        Log.i("cccccccc","==="+results?.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION)?.size.toString())
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
//        var a = SpeechRecognizer.isRecognitionAvailable(this)
//
//
        var mSpeechRecognizer = SpeechRecognizer.createSpeechRecognizer(this);
        mSpeechRecognizer.setRecognitionListener(this);
        // 启动服务需要一个 Intent
        var  mRecognitionIntent =  Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        mRecognitionIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        mRecognitionIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
        mRecognitionIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);
        // mLocale 是一个语音种类,可以根据自己的需求去设置
        mRecognitionIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());

// 开始语音识别 结果在 mSpeechRecognizer.setRecognitionListener(this);回调中
        mSpeechRecognizer.startListening(mRecognitionIntent);

        /*这个是可以使用的*/
//        var intent =  Intent(
//            RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); //设置识别模式
//        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Please start your voice");//开始说话描述
//        try {
//            startActivityForResult(intent, 100); //RESULT_SPEECH为Activity回调时的code值
//        } catch ( a:Exception) { //当前设备无法支持google语音识别
//            var t = Toast . makeText (getApplicationContext(),
//                "Opps! Your device doesn't support Speech to Text",
//                Toast.LENGTH_SHORT);
//            t.show();
//        }

//// 停止监听
//        mSpeechRecognizer.stopListening();
//
//// 取消服务
//        mSpeechRecognizer.cancel();
    }
}

相关文章

网友评论

      本文标题:系统自带语音识别

      本文链接:https://www.haomeiwen.com/subject/lcorzhtx.html