0

テキストから音声への変換アプリを作成しています。ユーザーからのテキストを音声に変更したい。入力テキストをハードコーディングしたとき。私のアプリは完璧に動作します。

static final String[] texts = {"what's up dude"};
TextToSpeech tts;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    Button b = (Button)findViewById(R.id.btexttovoice);
    b.setOnClickListener(this);
    tts = new TextToSpeech(textvoice.this,new TextToSpeech.OnInitListener(){

        @Override
        public void onInit(int status) {
            // TODO Auto-generated method stub
            if(status!= TextToSpeech.ERROR)
            {
                tts.setLanguage(Locale.US);

            }
            }
            });
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    if(tts!= null)
    {
        tts.stop();
        tts.shutdown();
    }
    super.onPause();
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    Random r = new Random();
    String random = texts[r.nextInt(3)];
    tts.speak(random, TextToSpeech.QUEUE_FLUSH, null);
}

}うまく機能しますが、テキストの編集を通じてユーザーから入力を受け取りたい場合は、次の変更を行います。

String[] texts ;
text = (EditText)findViewById(R.id.ttexttovoice);
texts = text.getText().toString();

テキストは配列型であるため、ここでエラーが発生します。編集テキストから配列タイプの文字列にテキストを取得するにはどうすればよいですか?配列文字列なしでこれを行う場合

String texts ;
text = (EditText)findViewById(R.id.ttexttovoice);
texts = text.getText().toString();

エラーは発生しませんが、目的の出力が見つかりませんでした。実際、音声は受信されません。

それは単純な問題のようですが、私はここで立ち往生しています。親切に私を助けてください。前もって感謝します。

4

1 に答える 1

0
String[] texts = new String[3];
text = (EditText)findViewById(R.id.ttexttovoice);
texts[0] = text.getText().toString();
于 2012-07-16T18:31:33.843 に答える