2016-06-13 3 views
0

내 모바일 TTS 엔진이 완전히 테스트로,안드로이드에서 TextToSpeech 언어로 힌디어를 설정, 프로그램

 if(t1.isLanguageAvailable(new Locale("hi_IN"))==TextToSpeech.LANG_AVAILABLE) 
      t1.setLanguage(new Locale ("hi_IN")); 
     else 
      Toast.makeText(getApplicationContext(), "Sorry! Text To Speech failed...", Toast.LENGTH_LONG).show(); 
+0

T1이 [음성 로케일 힌디어 인도에 텍스트]의 texttospeech 목적 –

+0

가능한 중복 (http://stackoverflow.com/questions/21598587/text-to-speech-locale-hindi-indian) – brandall

+0

내가 그 코드도 시도 또한 힌디어를 설정할 수는 없지만 좀 더 많은 자료를 게시하거나 샘플 코드를 제공 할 수 있습니까? –

답변

0

첫째 힌디어 textospeech을 지원하더라도 texttospeech의 음성 언어로 힌디어 설정할 수 없습니다에 음성 엔진에 텍스트를 설정 안드로이드 텍스트 음성 변환 설정 힌디어. 코드를 변경하지 않고도 Hindi에서 성공적으로 말해야합니다. 그렇지 않으면 로그 출력을 검사하여 문제가 있는지 확인하십시오.

다음으로 로케일을 설정하지 않으면 isLanguageAvailable()TextToSpeech.LANG_AVAILABLE 인 코드가 반환됩니다. 가능한 다른 많은 응답이 있습니다. 아래의 두 가지 case switch 문의 로그 출력을 확인하십시오.

final Locale loc = new Locale("hin", "IND"); 

    // switch(tts.isLanguageAvailable(loc)){ 
    switch(tts.setLanguage(loc)){ 

     case TextToSpeech.LANG_AVAILABLE: 
      Log.i("TAG", "LANG_AVAILABLE"); 
      break; 
     case TextToSpeech.LANG_COUNTRY_AVAILABLE: 
      Log.i("TAG", "LANG_COUNTRY_AVAILABLE"); 
      break; 
     case TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE: 
      Log.i("TAG", "LANG_COUNTRY_VAR_AVAILABLE"); 
      break; 
     case TextToSpeech.LANG_MISSING_DATA: 
      Log.i("TAG", "LANG_MISSING_DATA"); 
      break; 
     case TextToSpeech.LANG_NOT_SUPPORTED: 
      Log.i("TAG", "LANG_NOT_SUPPORTED"); 
      break; 
    } 

이 유의하시기 바랍니다, isLanguageAvailable()에 대한 응답은 악명 신뢰할 수 있습니다. 이유는 my edit on the answer here을 참조하십시오.

마지막으로, 당신이 돌아왔다 onInit() 후 TTS 개체의 언어 설정되어 있는지 확인 SUCCESS

0

시도 : 나는 지금까지 아니었다면 그것이 작동 희망

t1.setLanguage(new Locale("hin", "IND", "variant")); 

.

0

이 시도 .. 대신

t1.setLanguage(new Locale ("hi_IN")); 

t1.setLanguage(new Locale ("hi","IN")); 

나는 그것이 작동 바랍니다.

관련 문제