97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠(yuǎn)見教育科技集團(tuán) >> 新聞動態(tài) >> Android資料 >> Android SpeechRecognizer語音識別  
 
Android SpeechRecognizer語音識別
分享到:

在Cupcake中,Android引入了對語音識別的支持。語音識別主要位于android.speech包中,主要的類包括SpeechRecognizer、RecognitionService、RecognizerIntent、RecognizerResultsIntent、RecognitionListener等類和接口。

SpeechRecognizer提供了接入語音識別服務(wù)的接口,下面是SpeechRecognizer的常用方法:

    createSpeechRecognizer()    //創(chuàng)建語音識別器
        setRecognitionListener()    //設(shè)置監(jiān)聽器
        startListening()    //開始語音識別
        stopListening()    //結(jié)束語音識別

語音識別要求"android.permission.RECORD_AUDIO"權(quán)限。

為了進(jìn)行語音識別,首先需要發(fā)布一個語音識別的Activity,然后系統(tǒng)會啟動語音識別引擎,并對用戶的語音進(jìn)行處理,處理的結(jié)果將會通過onActivityResult()方法被返回。下面是Android中的一個實現(xiàn):

發(fā)起語音識別

private void startVoiceRecognitionActivity()
        {
            //語音識別的Action
            Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
            //設(shè)置附加信息
            intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
            intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
            startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
        }

對語音識別結(jié)果的處理如下:

protected void onActivityResult(int requestCode, int resultCode, Intent data)
        {
        if (requestCode==VOICE_RECOGNITION_REQUEST_CODE && resultCode==RESULT_OK)
             {
                ArrayList< String> matches=data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                mList.setAdapter(new ArrayAdapter< String>(this,android.R.layout.simple_list_item_1,matches));
             }
        super.onActivityResult(requestCode, resultCode, data);
         }

在目前的實現(xiàn)中,Android支持兩種類型的Action:ACTION_RECOGNIZE_SPEECH和ACTION_WEB_SEARCH?紤]到可能沒有處理對應(yīng)的Action的應(yīng)用,在代碼的實現(xiàn)中需要捕獲ActivityNotFoundException異常。

Action為ACTION_RECOGNIZE_SPEECH時,請求語音識別的附加信息為EXTRA_LANGUAGE_MODEL,可選附加信息為EXTRA_PROMPT、EXTRA_LANGUAGE、EXTRA_MAX_RESULTS、EXTRA_RESULTS_PENDINGINTENT、EXTRA_RESULTS_ PENDINGINTENT_BUNDLE,結(jié)果附加信息為EXTRA_RESULTS。

Action為ACTION_WEB_SEARCH時,請求語音識別的附加信息為EXTRA_ LANGUAGE_MODEL,可選附加信息為EXTRA_PROMPT、EXTRA_LANGUAGE、EXTRA_MAX_RESULTS,結(jié)果附加信息為EXTRA_RESULTS。

 
 更多相關(guān)文章

·Android音頻混響特效的設(shè)置
·Android可視化音頻均衡器
·Android重低音及環(huán)繞音音效的添加
·如何使用Android JetPlayer類
·Android RingtoneManager 鈴聲管理
·Android AudioTrack音頻播放分析