Here is the activity_main.xml:
The activity file:
TextToSpeechActivity.java
import java.io.File; import java.util.HashMap; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.speech.tts.TextToSpeech; import android.speech.tts.TextToSpeech.OnInitListener; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class TextToSpeechActivity extends Activity { Button store, play; EditText input; String speakTextTxt; TextToSpeech mTts; HashMapand don't forget to add this permission into the,myHashRender = new HashMap (); String tempDestFile ; String exStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath(); //your path here! File appTmpPath = new File(exStoragePath + "/media/alarms"); //String tempFilename = "tmpaudio.wav"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); store = (Button) findViewById(R.id.button1); // play = (Button) findViewById(R.id.button2); input = (EditText) findViewById(R.id.editText1); store.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { String editText1 = input.getText().toString(); speakTextTxt = "Hello world"; HashMap myHashRender = new HashMap (); myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, speakTextTxt); Log.d("MainActivity", "exStoragePath : "+exStoragePath); boolean isDirectoryCreated = appTmpPath.mkdirs(); Log.d("MainActivity", "directory "+appTmpPath+" is created : "+isDirectoryCreated); tempDestFile = appTmpPath.getAbsolutePath() + File.separator + editText1 +".mp4"; Log.d("MainActivity", "tempDestFile : "+tempDestFile); new MySpeech(speakTextTxt); // addRecordingToMediaLibrary(); } }); } class MySpeech implements OnInitListener { String tts; public MySpeech(String tts) { this.tts = tts; mTts = new TextToSpeech(TextToSpeechActivity.this, this); } @Override public void onInit(int status) { String editText1 = input.getText().toString(); Log.v("log", "initi"); int i = mTts.synthesizeToFile(speakTextTxt, myHashRender, tempDestFile); if(i == TextToSpeech.SUCCESS) { Toast toast = Toast.makeText(TextToSpeechActivity.this, "Saved "+editText1, Toast.LENGTH_SHORT); toast.show(); } System.out.println("Result : " + i); } } }
AndroidManifest.xml
I think were done here, please send me a feedback if it doesn't workfor you...