Text to speech(TTS)-Android

前端 未结 7 1000
星月不相逢
星月不相逢 2020-11-27 11:42

I am new to the android platform. Now I am working on TTS(Text to Speech).If I enter the text in a TextArea and I would like it to be converted to speech when i

7条回答
  •  再見小時候
    2020-11-27 12:03

    MainActivity.class

    import java.util.Locale;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.SharedPreferences.Editor;
    import android.speech.tts.TextToSpeech;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.widget.EditText;
    
    public class MainActivity extends Activity {
    
        String text;
        EditText et;
        TextToSpeech tts;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            et=(EditText)findViewById(R.id.editText1);
            tts=new TextToSpeech(MainActivity.this, new TextToSpeech.OnInitListener() {
    
                @Override
                public void onInit(int status) {
                    // TODO Auto-generated method stub
                    if(status == TextToSpeech.SUCCESS){
                        int result=tts.setLanguage(Locale.US);
                        if(result==TextToSpeech.LANG_MISSING_DATA ||
                                result==TextToSpeech.LANG_NOT_SUPPORTED){
                            Log.e("error", "This Language is not supported");
                        }
                        else{
                            ConvertTextToSpeech();
                        }
                    }
                    else
                        Log.e("error", "Initilization Failed!");
                }
            });
    
    
        }
    
        @Override
        protected void onPause() {
            // TODO Auto-generated method stub
    
            if(tts != null){
    
                tts.stop();
                tts.shutdown();
            }
            super.onPause();
        }
    
        public void onClick(View v){
    
            ConvertTextToSpeech();
    
        }
    
        private void ConvertTextToSpeech() {
            // TODO Auto-generated method stub
            text = et.getText().toString();
            if(text==null||"".equals(text))
            {
                text = "Content not available";
                tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
            }else
                tts.speak(text+"is saved", TextToSpeech.QUEUE_FLUSH, null);
        }
    
    }
    

    activity_main.xml

    
    
        

提交回复
热议问题