如何理解Android TTS技術(shù),相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
成都創(chuàng)新互聯(lián)公司咨詢電話:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域10年,包括宣傳片制作等多個(gè)行業(yè)擁有豐富的網(wǎng)站營(yíng)銷經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián)公司,為網(wǎng)站錦上添花!
AndroidTTS技術(shù),也就是Text-to-speech技術(shù)。TTS技術(shù)對(duì)文本文件進(jìn)行實(shí)時(shí)轉(zhuǎn)換,轉(zhuǎn)換時(shí)間之短可以秒計(jì)算。在其特有智能語音控制器作用下,文本輸出的語音音律流暢,使得聽者在聽取信息時(shí)感覺自然,毫無機(jī)器語音輸出的冷漠與生澀感。TTS語音合成技術(shù)即將覆蓋國(guó)標(biāo)一、二級(jí)漢字,具有英文接口,自動(dòng)識(shí)別中、英文,支持中英文混讀。所有聲音采用真人普通話為標(biāo)準(zhǔn)發(fā)音,實(shí)現(xiàn)了120-150個(gè)漢字/秒的快速語音合成,朗讀速度達(dá)3-4個(gè)漢字/秒,使用戶可以聽到清晰悅耳的音質(zhì)和連貫流暢的語調(diào)。
下面我們來看看這是如何實(shí)現(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: //這個(gè)返回結(jié)果表明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ù)有錯(cuò),重新下載安裝需要的數(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返回的結(jié)果 } }
下一步,初始化TTS。
java代碼:
//實(shí)現(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); //設(shè)置發(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); } } }
接下來,設(shè)置發(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; } //設(shè)置發(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); } }
點(diǎn)擊Button按鈕發(fā)音:
java代碼:
public void onClick(View v) { // TODO Auto-generated method stub mTts.speak(inputText.getText().toString(), TextToSpeech.QUEUE_ADD, null); //朗讀輸入框里的內(nèi)容 }
看完上述內(nèi)容,你們掌握如何理解Android TTS技術(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁標(biāo)題:如何理解AndroidTTS技術(shù)
URL鏈接:http://chinadenli.net/article8/ihsjip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、微信小程序、網(wǎng)站改版、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)