歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android的數據存儲和IO - 自動朗讀(TTS)

Android的數據存儲和IO - 自動朗讀(TTS)

自動朗讀又是Android提供的另一種另類的IO,蠻不錯的哦,支持對指定文本內容進朗讀,學習完這個內容我立馬就讓它朗讀:wwj is a good man.作為一個自我滿足。

創建項目:Speech

運行效果:

Activity文件:Speech.java

  1. package wwj.speech;  
  2.   
  3. import java.util.Locale;  
  4.   
  5. import android.app.Activity;  
  6. import android.os.Bundle;  
  7. import android.speech.tts.TextToSpeech;  
  8. import android.speech.tts.TextToSpeech.OnInitListener;  
  9. import android.view.View;  
  10. import android.view.View.OnClickListener;  
  11. import android.widget.Button;  
  12. import android.widget.EditText;  
  13. import android.widget.Toast;  
  14.   
  15. public class Speech extends Activity {  
  16.       
  17.     TextToSpeech tts;  
  18.     EditText editText;  
  19.     Button speech;  
  20.     Button record;  
  21.     @Override  
  22.     public void onCreate(Bundle savedInstanceState) {  
  23.         super.onCreate(savedInstanceState);  
  24.         setContentView(R.layout.main);  
  25.         //初始化TextToSpeech對象   
  26.         tts = new TextToSpeech(thisnew OnInitListener() {  
  27.               
  28.             public void onInit(int status) {  
  29.                 // TODO Auto-generated method stub   
  30.                 //如果裝載TTS引擎成功   
  31.                 if(status == TextToSpeech.SUCCESS){  
  32.                     //設置使用美式英語朗讀   
  33.                     int result = tts.setLanguage(Locale.US);  
  34.                     //如果不支持所設置的語言   
  35.                     if(result != TextToSpeech.LANG_COUNTRY_AVAILABLE   
  36.                             && result != TextToSpeech.LANG_AVAILABLE){  
  37.                         Toast.makeText(Speech.this"TTS暫時不支持這種語言的朗讀。"50000).show();  
  38.                     }  
  39.                 }  
  40.             }  
  41.         });  
  42.         editText = (EditText)findViewById(R.id.txt);  
  43.         speech = (Button) findViewById(R.id.speech);  
  44.         record = (Button) findViewById(R.id.record);  
  45.         speech.setOnClickListener(new OnClickListener() {  
  46.               
  47.             public void onClick(View v) {  
  48.                 // TODO Auto-generated method stub   
  49.                 //執行朗讀   
  50.                 tts.speak(editText.getText().toString(), TextToSpeech.QUEUE_ADD, null);  
  51.             }  
  52.         });  
  53.         record.setOnClickListener(new OnClickListener() {  
  54.               
  55.             public void onClick(View v) {  
  56.                 // TODO Auto-generated method stub   
  57.                 //將朗讀文本的音頻記錄到指定文件   
  58.                 tts.synthesizeToFile(editText.getText().toString(), null"/mnt/sdcard/sound.wav");  
  59.                 Toast.makeText(Speech.this"聲音記錄成功! "50000).show();  
  60.             }  
  61.         });  
  62.     }  
  63.     @Override  
  64.     protected void onDestroy() {  
  65.         // TODO Auto-generated method stub   
  66.         //關閉TextToSpeech對象   
  67.         if(tts != null){  
  68.             tts.shutdown();  
  69.         }  
  70.         super.onDestroy();  
  71.     }  
  72. }  

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved