91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Android TTS技術

發布時間:2021-11-25 22:18:38 來源:億速云 閱讀:175 作者:柒染 欄目:移動開發

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

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

下面我們來看看這是如何實現的:

第一步:檢查TTS數據是否可用:

java代碼:

//檢查TTS數據是否已經安裝并且可用   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:   //需要的語音數據已損壞   case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:   //缺少需要語言的語音數據   case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:   //缺少需要語言的發音數據   {   //這三種情況都表明數據有錯,重新下載安裝需要的數據   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代碼:

//實現TTS初始化接口   @Override   public void onInit(int status) {   // TODO Auto-generated method stub   //TTS Engine初始化完成   if(status == TextToSpeech.SUCCESS)   {   int result = mTts.setLanguage(Locale.US);   //設置發音語言   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);   }   }   }

接下來,設置發音語言

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;   }   //設置發音語言   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按鈕發音:

java代碼:

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

看完上述內容,你們掌握如何理解Android TTS技術的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

视频| 习水县| 尼玛县| 大方县| 崇礼县| 泌阳县| 太白县| 福清市| 丰城市| 丹阳市| 贵德县| 德阳市| 南昌市| 禄劝| 鄢陵县| 岱山县| 邢台县| 鄯善县| 从江县| 彰武县| 万盛区| 久治县| 河津市| 永安市| 保靖县| 龙川县| 宣威市| 广南县| 白玉县| 甘泉县| 鲁山县| 巩义市| 四会市| 桓台县| 大安市| 芜湖市| 微博| 华宁县| 武义县| 东光县| 阿坝县|