如何理解AndroidTTS技術

如何理解Android TTS技術,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)公司咨詢電話:18982081108,為您提供成都網(wǎng)站建設網(wǎng)頁設計及定制高端網(wǎng)站建設服務,成都創(chuàng)新互聯(lián)公司網(wǎng)頁制作領域10年,包括宣傳片制作等多個行業(yè)擁有豐富的網(wǎng)站營銷經(jīng)驗,選擇成都創(chuàng)新互聯(lián)公司,為網(wǎng)站錦上添花!

AndroidTTS技術,也就是Text-to-speech技術。TTS技術對文本文件進行實時轉換,轉換時間之短可以秒計算。在其特有智能語音控制器作用下,文本輸出的語音音律流暢,使得聽者在聽取信息時感覺自然,毫無機器語音輸出的冷漠與生澀感。TTS語音合成技術即將覆蓋國標一、二級漢字,具有英文接口,自動識別中、英文,支持中英文混讀。所有聲音采用真人普通話為標準發(fā)音,實現(xiàn)了120-150個漢字/秒的快速語音合成,朗讀速度達3-4個漢字/秒,使用戶可以聽到清晰悅耳的音質和連貫流暢的語調。

下面我們來看看這是如何實現(xiàn)的:

第一步:檢查TTS數(shù)據(jù)是否可用:

java代碼:

//檢查TTS數(shù)據(jù)是否已經(jīng)安裝并且可用   Intent checkIntent = new Intent();   checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);   startActivityForResult(checkIntent, REQ_TTS_STATUS_CHECK);   protected void onActivityResult(int requestCode, int resultCode, Intent data) {   if(requestCode == REQ_TTS_STATUS_CHECK)   {   switch (resultCode) {   case TextToSpeech.Engine.CHECK_VOICE_DATA_PASS:   //這個返回結果表明TTS Engine可以用   {   mTts = new TextToSpeech(this, this);   Log.v(TAG, "TTS Engine is installed!");   }   break;   case TextToSpeech.Engine.CHECK_VOICE_DATA_BAD_DATA:   //需要的語音數(shù)據(jù)已損壞   case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:   //缺少需要語言的語音數(shù)據(jù)   case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:   //缺少需要語言的發(fā)音數(shù)據(jù)   {   //這三種情況都表明數(shù)據(jù)有錯,重新下載安裝需要的數(shù)據(jù)   Log.v(TAG, "Need language stuff:"+resultCode);   Intent dataIntent = new Intent();   dataIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);   startActivity(dataIntent);   }   break;   case TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL:   //檢查失敗   default:   Log.v(TAG, "Got a failure. TTS apparently not available");   break;   }   }   else   {   //其他Intent返回的結果   }   }

下一步,初始化TTS。

java代碼:

//實現(xiàn)TTS初始化接口   @Override   public void onInit(int status) {   // TODO Auto-generated method stub   //TTS Engine初始化完成   if(status == TextToSpeech.SUCCESS)   {   int result = mTts.setLanguage(Locale.US);   //設置發(fā)音語言   if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)   //判斷語言是否可用   {   Log.v(TAG, "Language is not available");   speakBtn.setEnabled(false);   }   else   {   mTts.speak("This is an example of speech synthesis.", TextToSpeech.QUEUE_ADD, null);   speakBtn.setEnabled(true);   }   }   }

接下來,設置發(fā)音語言

java代碼:

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {   // TODO Auto-generated method stub   int pos = langSelect.getSelectedItemPosition();   int result = -1;   switch (pos) {   case 0:   {   inputText.setText("I love you");   result = mTts.setLanguage(Locale.US);   }   break;   case 1:   {   inputText.setText("Je t'aime");   result = mTts.setLanguage(Locale.FRENCH);   }   break;   case 2:   {   inputText.setText("Ich liebe dich");   result = mTts.setLanguage(Locale.GERMAN);   }   break;   case 3:   {   inputText.setText("Ti amo");   result = mTts.setLanguage(Locale.ITALIAN);   }   break;   case 4:   {   inputText.setText("Te quiero");   result = mTts.setLanguage(new Locale("spa", "ESP"));   }   break;   default:   break;   }   //設置發(fā)音語言   if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)   //判斷語言是否可用   {   Log.v(TAG, "Language is not available");   speakBtn.setEnabled(false);   }   else   {   speakBtn.setEnabled(true);   }   }

點擊Button按鈕發(fā)音:

java代碼:

public void onClick(View v) {   // TODO Auto-generated method stub   mTts.speak(inputText.getText().toString(), TextToSpeech.QUEUE_ADD, null);   //朗讀輸入框里的內容   }

看完上述內容,你們掌握如何理解Android TTS技術的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁標題:如何理解AndroidTTS技術
URL鏈接:http://muchs.cn/article8/ihsjip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、微信小程序網(wǎng)站改版、營銷型網(wǎng)站建設網(wǎng)站排名、網(wǎng)站內鏈

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)