成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android TTS技術

移動開發 Android
TTS技術就是通過文字轉化與語音的能力,而Android手機平臺,也綁定了英文語音引擎,對英文語音提拱了內置的支持。通過輸入一段英文,就可以將其語音的形式播放出來。這也是該平臺下的一個創意設計。

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

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

***步:檢查TTS數據是否可用:

java代碼:

  1. //檢查TTS數據是否已經安裝并且可用   
  2. Intent checkIntent = new Intent();   
  3. checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);   
  4. startActivityForResult(checkIntent, REQ_TTS_STATUS_CHECK);   
  5. protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
  6. if(requestCode == REQ_TTS_STATUS_CHECK)   
  7. {   
  8. switch (resultCode) {   
  9. case TextToSpeech.Engine.CHECK_VOICE_DATA_PASS:   
  10. //這個返回結果表明TTS Engine可以用   
  11. {   
  12. mTts = new TextToSpeech(this, this);   
  13. Log.v(TAG, "TTS Engine is installed!");   
  14. }   
  15. break;   
  16. case TextToSpeech.Engine.CHECK_VOICE_DATA_BAD_DATA:   
  17. //需要的語音數據已損壞   
  18. case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:   
  19. //缺少需要語言的語音數據   
  20. case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:   
  21. //缺少需要語言的發音數據   
  22. {   
  23. //這三種情況都表明數據有錯,重新下載安裝需要的數據   
  24. Log.v(TAG, "Need language stuff:"+resultCode);   
  25. Intent dataIntent = new Intent();   
  26. dataIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);   
  27. startActivity(dataIntent);   
  28. }   
  29. break;   
  30. case TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL:   
  31. //檢查失敗   
  32. default:   
  33. Log.v(TAG, "Got a failure. TTS apparently not available");   
  34. break;   
  35. }   
  36. }   
  37. else   
  38. {   
  39. //其他Intent返回的結果   
  40. }   
  41. }  

下一步,初始化TTS。

java代碼:

  1. //實現TTS初始化接口   
  2. @Override   
  3. public void onInit(int status) {   
  4. // TODO Auto-generated method stub   
  5. //TTS Engine初始化完成   
  6. if(status == TextToSpeech.SUCCESS)   
  7. {   
  8. int result = mTts.setLanguage(Locale.US);   
  9. //設置發音語言   
  10. if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)   
  11. //判斷語言是否可用   
  12. {   
  13. Log.v(TAG, "Language is not available");   
  14. speakBtn.setEnabled(false);   
  15. }   
  16. else   
  17. {   
  18. mTts.speak("This is an example of speech synthesis.", TextToSpeech.QUEUE_ADD, null);   
  19. speakBtn.setEnabled(true);   
  20. }   
  21. }   
  22. }  

接下來,設置發音語言

java代碼:

  1. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {   
  2. // TODO Auto-generated method stub   
  3. int pos = langSelect.getSelectedItemPosition();   
  4. int result = -1;   
  5. switch (pos) {   
  6. case 0:   
  7. {   
  8. inputText.setText("I love you");   
  9. result = mTts.setLanguage(Locale.US);   
  10. }   
  11. break;   
  12. case 1:   
  13. {   
  14. inputText.setText("Je t'aime");   
  15. result = mTts.setLanguage(Locale.FRENCH);   
  16. }   
  17. break;   
  18. case 2:   
  19. {   
  20. inputText.setText("Ich liebe dich");   
  21. result = mTts.setLanguage(Locale.GERMAN);   
  22. }   
  23. break;   
  24. case 3:   
  25. {   
  26. inputText.setText("Ti amo");   
  27. result = mTts.setLanguage(Locale.ITALIAN);   
  28. }   
  29. break;   
  30. case 4:   
  31. {   
  32. inputText.setText("Te quiero");   
  33. result = mTts.setLanguage(new Locale("spa", "ESP"));   
  34. }   
  35. break;   
  36. default:   
  37. break;   
  38. }   
  39. //設置發音語言   
  40. if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)   
  41. //判斷語言是否可用   
  42. {   
  43. Log.v(TAG, "Language is not available");   
  44. speakBtn.setEnabled(false);   
  45. }   
  46. else   
  47. {   
  48. speakBtn.setEnabled(true);   
  49. }   

***點擊Button按鈕發音:

java代碼:

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

【編輯推薦】

Android環境變量的設置

Android輕松實現語音識別

Android開發中插入新的Activity

Android開發之旅:Android架構

在Android應用程序中使用Internet數據

責任編輯:zhaolei 來源: 互聯網
相關推薦

2016-06-23 11:48:00

Android開發

2022-10-26 18:31:15

火山引擎

2024-01-03 09:52:54

開源TTS引擎TTS

2019-08-07 18:45:40

語音助手TTS前端

2017-03-06 14:44:49

Androidhook技術

2025-02-25 10:34:10

2024-07-30 11:21:17

TTSAIAgent

2011-03-01 15:02:54

Qt

2023-07-06 08:41:20

TTS?Mac?系統

2017-02-28 08:48:11

科技早新聞

2018-02-07 15:25:41

2013-06-14 15:43:46

Android開發移動開發數據存儲

2018-01-09 15:57:18

熱修復開發編譯

2014-04-01 13:29:44

Android高級模糊技術

2017-12-28 14:54:04

Android代碼埋點全埋點

2011-05-31 16:26:12

Android

2022-03-04 15:51:43

TTS功能Hi3861科大訊飛

2010-02-05 17:02:13

Android

2013-01-06 12:23:59

Android開發SQLite數據庫

2015-07-13 10:00:25

Android開發工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美性久久 | 日本一区二区三区在线观看 | 香蕉视频黄色 | 中文字幕一区二区三区乱码图片 | 91视频在线观看 | 国产视频精品在线 | 色综合久 | 国产99久久久国产精品下药 | 四虎影院新网址 | 日韩伦理电影免费在线观看 | 欧美电影免费观看高清 | av男人的天堂在线 | 久久99久久99久久 | 成人在线观看亚洲 | 神马福利| 欧美h| 欧美一级大片免费看 | 亚洲a在线视频 | 在线伊人网 | 91av免费观看| 毛片av免费看| 成人在线视频网 | 日韩一区二区福利视频 | 欧美一区视频在线 | 国产一级影片 | 国产精品国产成人国产三级 | 欧美视频一区 | 日韩淫片免费看 | 亚洲精品久久久久久宅男 | 欧美激情一区 | 国产第一区二区 | 久草青青草 | 电影91久久久 | 亚洲九九精品 | 国产一级电影在线 | 自拍偷拍亚洲视频 | 国产一区二区在线免费 | 国产 日韩 欧美 制服 另类 | 欧美日本韩国一区二区 | 久久久看 | 国产1区2区3区 |