2012-07-16 53 views
0

我正在將文本轉換爲語音轉換應用程序。我想從用戶那裏獲取文本並將其改爲語音。當我輸入文字硬編碼。我的應用完美地工作。從edittext中檢索文本到android eclipse中的數組字符

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(); 

我沒有得到任何錯誤,但我沒有找到所需的輸出。實際上沒有收到任何聲音。

它似乎是一個簡單的問題,但我卡在這裏。請幫助我。提前致謝。

回答

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

非常感謝。現在我的項目沒有錯誤,但當我點擊語音轉換按鈕時,我仍然沒有找到慾望輸出的意思。該項目意外關閉。 – dan 2012-07-16 18:45:23

相關問題