Android对TTS技术的支持

  Android 1.6开始支持TTS(Text To Speech)技术,通过该技术可以将文本转换成语音。目前2015-09-06只支持朗读英文.

  TTS技术的核心是android.speech.tts.TextToSpeech类。要想使用TTS技术朗读文本,需要做两个工作:
  1,初始化TTS和指定要朗读的文本,主要指定TTS朗读的文本的语言.
  2,使用speak方法指定要朗读的文本

在Android中使用TTS技术

  TextToSpeech.OnInitListener.onInit用于初始化TTS

  TextToSpeech.speak用于将文本转换为声音

 

示例

 1 import java.util.Locale;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.speech.tts.TextToSpeech;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Button;
 9 import android.widget.TextView;
10 import android.widget.Toast;
11 
12 /*
13  * TTS示例
14  * TTS技术可以将文本转换成语音
15  * 1,初始化TTS和指定要朗读的文本,主要指定TTS朗读的文本的语言.
16  * 2,使用speak方法指定要朗读的文本。
17  */
18 public class Main extends Activity implements TextToSpeech.OnInitListener,
19         OnClickListener {
20     // 利用TTS技术将文本转换成语音 第1步,TextToSpeech.OnInitListener接口
21     private TextToSpeech tts;// tts关键类
22     private TextView textView;
23 
24     @Override
25     public void onCreate(Bundle savedInstanceState) {
26         super.onCreate(savedInstanceState);
27         setContentView(R.layout.main);
28 
29         // 利用TTS技术将文本转换成语音 第2步,构造TextToSpeech
30         tts = new TextToSpeech(this, this);
31 
32         Button button = (Button) findViewById(R.id.button);
33         textView = (TextView) findViewById(R.id.textview);
34         button.setOnClickListener(this);
35     }
36 
37     /*
38      * 初始化回调
39      * from TextToSpeech.OnInitListener
40      */
41     @Override
42     public void onInit(int status) {
43         if (status == TextToSpeech.SUCCESS) {
44             //利用TTS技术将文本转换成语音 第3步,指定TTS朗读的文本的语言 目前2015-09-06还只支持英文朗读
45             // 目前2015-09-06还只支持英文朗读
46             int result = tts.setLanguage(Locale.US);
47             
48             //利用TTS技术将文本转换成语音 第4步,若数据不存在或不支持,那么提示.
49             if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
50                 Toast.makeText(this, "Language is not available.",Toast.LENGTH_LONG).show();
51             }
52         }
53     }
54 
55     /*
56      * 开始朗读的button事件
57      */
58     public void onClick(View view) {
59         //利用TTS技术将文本转换成语音 第5步,开始朗读
60         tts.speak(textView.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
61     }
62 
63 }

 

相关文章:

  • 2022-02-09
  • 2021-09-28
  • 2021-11-19
  • 2021-12-25
  • 2022-01-08
  • 2022-12-23
  • 2021-10-17
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-09
  • 2021-07-25
相关资源
相似解决方案