LeBang的博客

虽千万人,吾往矣

安卓TTS文字转语音

今天谈谈TTS。

TextToSpeech 这个类,能将正常的文字转换为音频播出。

好像网上的资料比较少,之后项目可能要用到,自己先整理笔记。
早上做了第一个Demo,趁午休时间,来总结下:

1.谷歌暂时不支持中文
2.非常简单的一个控件,但是发音生硬,有一些第三方做得更为出色


   // private TextToSpeech mTTS;

    case R.id.btn_main_totts2:                                       
        if (mTTS != null) {                                          
            mTTS.stop();                                             
            mTTS.shutdown();                                         
            mTTS = null;                                             
        }                                                            
        mTTS = new TextToSpeech(MainActivity.this, new TTStest());   
        break;                                                       

定义一个Button,设置它的OnclickListener为以上,其中TTStest是自己定义的一个雷,实现了OnInitListener 接口(如下)

 private class TTStest implements TextToSpeech.OnInitListener {                                                
     @Override                                                                                                 
     public void onInit(int i) {                                                                               
         if (i == TextToSpeech.SUCCESS) {                                                                      
             int result = mTTS.setLanguage(Locale.US);                                                         
             if (result == TextToSpeech.LANG_NOT_SUPPORTED) {                                                  
                 Toast.makeText(MainActivity.this, "what", Toast.LENGTH_SHORT).show();                         
             } else {                                                                                          
                 mTTS.speak("I have a dream. one day we will be free", TextToSpeech.QUEUE_FLUSH, null);        
             }                                                                                                 
         }                                                                                                     
     }                                                                                                         
 }                                                                                                             

到目前为止,短短十数行代码,已经可以实现主要的功能了,在真机上运行之后,会有生硬的女音读出“I have a dream ……..”.


下面在加上一个EditText,让TTS读出我们所输入的内容

EditText mEdt = (EditText) findViewById(R.id.edt_main_totts);
mTTS.speak(mEdt.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);

很简单,就是EditText.getText().toString(),将输入的文本转为语音

阅读更多
版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/lebang08/article/details/52352178
文章标签: android
想对作者说点什么? 我来说一句

文字转语音设置(TTS设置)

2015年03月14日 273KB 下载

没有更多推荐了,返回首页

不良信息举报

安卓TTS文字转语音

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭