TTS(TextToSpeech)将文本转为语音的简单使用

来源:互联网 发布:淘宝的钻石展位在哪里 编辑:程序博客网 时间:2024/05/06 11:56
private Button speechBtn; // 按钮控制开始朗读private TextView speechTxt; // 需要朗读的内容private TextToSpeech textToSpeech; // TTS对象 @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);speechBtn = (Button) findViewById(R.id.speechBtn);  speechTxt = (TextView) findViewById(R.id.speechTxt); textToSpeech = new TextToSpeech(MainActivity.this,    new TextToSpeech.OnInitListener() {          @Override     public void onInit(int status) {      // TODO Auto-generated method stub      if (status == TextToSpeech.SUCCESS) {       int result = textToSpeech.setLanguage(Locale.US);       if (result == TextToSpeech.LANG_MISSING_DATA         || result == TextToSpeech.LANG_NOT_SUPPORTED) {        Toast.makeText(MainActivity.this, "数据丢失或不支持",          Toast.LENGTH_SHORT).show();       }      }     }    });speechBtn.setOnClickListener(new OnClickListener() {@Override   public void onClick(View v) {    // TODO Auto-generated method stub    if (textToSpeech != null && !textToSpeech.isSpeaking()) {     textToSpeech.setPitch(1.5f);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规     textToSpeech.speak(speechTxt.getText().toString(),       TextToSpeech.QUEUE_FLUSH, null);    }   }  });}@Override protected void onStop() {  super.onStop();  textToSpeech.stop(); // 不管是否正在朗读TTS都被打断  textToSpeech.shutdown(); // 关闭,释放资源 }

0 0