2013-04-18 43 views
4

IM在文本到语音应用程序的工作,我想设置土耳其语是因为这样:设置土耳其语

tts.setLanguage(Locale.TR); 

但这不是在Android中使用,这是错误的添加此方式或有不同的方式来增加土耳其语文本到语音。

任何帮助和建议可以理解

文本到语音代码:

public class AndroidTextToSpeechActivity extends Activity implements 
    TextToSpeech.OnInitListener { 
/** Called when the activity is first created. */ 

private TextToSpeech tts; 
private Button btnSpeak; 
private EditText txtText; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    tts = new TextToSpeech(this, this); 

    btnSpeak = (Button) findViewById(R.id.btnSpeak); 

    txtText = (EditText) findViewById(R.id.txtText); 

    // button on click event 
    btnSpeak.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      speakOut();} 
         });} 
@Override 
public void onDestroy() { 
    // Don't forget to shutdown! 
    if (tts != null) { 
     tts.stop(); 
     tts.shutdown();} 

    super.onDestroy();} 

@Override 
public void onInit(int status) { 
    // TODO Auto-generated method stub 

    if (status == TextToSpeech.SUCCESS) { 

     int result = tts.setLanguage(Locale.US); 

     // tts.setPitch(5); // set pitch level 

     // tts.setSpeechRate(2); // set speech speed rate 

     if (result == TextToSpeech.LANG_MISSING_DATA 
      || result == TextToSpeech.LANG_NOT_SUPPORTED) { 
      Log.e("TTS", "Language is not supported"); 
     } else { 
      btnSpeak.setEnabled(true); 
      speakOut();} 

     } else { 
      Log.e("TTS", "Initilization Failed");}} 

private void speakOut() { 

    String text = txtText.getText().toString(); 

    tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);}} 
+0

看我的回答:HTTP://stackoverflow.com/questions/9311274/any-tts-api-for-android -in-土耳其/ 36784975#36784975 – Beyaz

回答

3

其他的语音库,如果你的设备是土耳其,用途:

tts.setLanguage(Locale.getDefault()); 

而不是

int result = tts.setLanguage(Locale.US); 

然后EXTRA_LANGUAGE_MODEL值必须是:“tr-TR”。

我尝试和成功(但我也下载了来自三星的市场土耳其lang.pack)