当我使用TTS时,在android上发生setLanguage失败

时间:2018-01-08 04:45:05

标签: android

我使用TTS(文本到语音),但我的设备不说话。

TtsEngine::setLanguage called with unsupported language
setLanguage(kor, KOR,) failed 

我认为我的设备不支持韩语。

如何安装韩语语言包?

我的来源。

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);

   //create TTS
   tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
       @Override
       public void onInit(int i) {

          if (i != ERROR) {
              tts.setLanguage(Locale.KOREAN);
          }
          else {
          }
       }
    });

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            tts.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
        }
    });
 }

如何在我的Android设备上发言?

感谢:..

2 个答案:

答案 0 :(得分:0)

试试这个

 @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
           @Override
           public void onInit(int status) {
              if (status == TextToSpeech.SUCCESS ) {

{
        int result = tts.setLanguage(Locale.getDefault());
        System.out.println ( "Result : " + result  + " " + Locale.getDefault().getLanguage() );

        if (result == TextToSpeech.LANG_MISSING_DATA
                || result == TextToSpeech.LANG_NOT_SUPPORTED) 
        {
            Toast.makeText( this , "Please Set your Language to English US.", Toast.LENGTH_LONG ).show();
        }
        else
        {
                  tts.setLanguage(Locale.KOREAN);//remove this line
                  tts.setLanguage(new Locale("ko_KR"));//add this line
                  tts.speak( "hey",TextToSpeech.QUEUE_FLUSH, null );
        }                            
           }
        });
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tts.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
            }
        });

答案 1 :(得分:0)

简短答案:尝试打开W​​IFI

我遇到了同样的问题。

如果在logcat中过滤单词“ TTS”,则可以看到设备正在尝试下载语言环境。因此,如果打开Wifi,则应解决您的问题。我正在寻找一种解决方案,以将语言环境本地加载到设备上,以避免通过Internet下载它。