Wie speichern Sie die Sprachausgabe als WAV-Datei?

Ich bin mit dem folgenden code zu speichern Text to Speech Ausgabe als wav Datei in meine Anwendung. Ich bin nicht sicher, wo der Fehler ist, kannst du bitte schauen und mir empfehlen?

public class MainActivity extends Activity {

Button store, play;
EditText input;
String speakTextTxt;
TextToSpeech mTts;
HashMap<String, String> myHashRender = new HashMap<String, String>();
String tempDestFile ;
@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 OnClickListener()  {

        public void onClick(View v) {
            speakTextTxt = "Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world Hello world";
            HashMap<String, String> myHashRender = new HashMap<String, String>();
            myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, speakTextTxt);

            String exStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath();

            File appTmpPath = new File(exStoragePath + "/sounds/");
            appTmpPath.mkdirs();

            String tempFilename = "hello.mp3";

            tempDestFile = appTmpPath.getAbsolutePath() + "/" + tempFilename;

            new MySpeech(speakTextTxt);


        }
    });
}

class MySpeech implements OnInitListener
{

            String tts;

    public MySpeech(String tts)
    {
        this.tts = tts;
        mTts = new TextToSpeech(MainActivity.this, this);
    }

    @Override
    public void onInit(int status) 
    {
        Log.v("log", "initi");
        int i = mTts.synthesizeToFile(speakTextTxt, myHashRender, tempDestFile);
        if(i == TextToSpeech.SUCCESS)
        {

          Toast toast = Toast.makeText(MainActivity.this, "Saved "+i,
                Toast.LENGTH_SHORT);
          toast.show();   
        }
        System.out.println("Result : " + i);
    }
  }

 }
Datei appTmpPath = new File(exStoragePath + "/sekhar/"); ... tempDestFile = appTmpPath.getAbsolutePath() + "/"+ tempFilename; gibt es nicht zwei '//' in dem Dateinamen?
Durch Fehler ich habe es mehrere Male. Nun habe ich entfernt und versucht. Ich habe den toast aus der onInIt-Methode wird in der Unterklasse. Jetzt habe ich, wie kann ich überprüfen, wehter es gespeichert ist oder nicht. Ich angeschlossen mein Gerät an meinen Computer und checkte die sekhar Ordner. Aber es ist keine wav-Datei. Können Sie bitte mir empfehlen? Ich druckte den Wert des "ich", das ist 0.
was text die Instanz von MySpeachhat gesprochen ??
es sollten Sprach, was gebe ich als input in das EditText
aber ich kann nicht sehen, keine Anweisung in deinem code oben sagen, dass Ihr Beispiel zu sprechen, den text aus der EditText

InformationsquelleAutor ChandraSekhar | 2013-02-04

Schreibe einen Kommentar