我们可以在文字转语音(tts)中处理“不可听”吗?

时间:2016-09-14 11:15:29

标签: android text-to-speech

我使用英语没有问题。我来自尼泊尔,我的应用程序也使用尼泊尔语,现在,如果我试图说尼泊尔语,那么没有任何事情发生..即,虽然没有尼泊尔语言到Locale,但tts不能发音。当我尝试用尼泊尔语单词播放tts时出现以下logcat错误: -

09-14 16:47:48.781 11035-26114/? I/patts: Failure to verbalize in FST ALL: for markup [verbatim: "न" ] (and permutations)
09-14 16:47:48.784 11035-26114/? I/patts: Failure to verbalize in FST ALL: for markup [verbatim: "ि" ] (and permutations)
09-14 16:47:48.787 11035-26114/? I/patts: Failure to verbalize in FST ALL: for markup [verbatim: "ल" ] (and permutations)
09-14 16:47:48.790 11035-26114/? I/patts: Failure to verbalize in FST ALL: for markup [verbatim: "े" ] (and permutations)
09-14 16:47:48.793 11035-26114/? I/patts: Failure to verbalize in FST ALL: for markup [verbatim: "श" ] (and permutations)
09-14 16:47:48.805 11035-26114/? I/patts: Is not audiable (output is only silence)

无论如何要处理这些情况?,我只是想在尝试播放尼泊尔语时说“尼泊尔语不受支持”。

以下是我的tts代码,我认为这不重要,但我也在下面发帖: -

 holder.imageButton_tts.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            holder.tts.speak(names.get(position).textView,TextToSpeech.QUEUE_ADD,null);
            holder.tts.setLanguage(Locale.US);  //There is no Nepali language provided by android, Locale code for Nepali is NE
            holder.tts.setPitch(0.7f);
            holder.tts.setSpeechRate(0.4f);
        }
    });

任何帮助和建议将不胜感激!! ^ _ ^

注意: - 在stackoverflow中很少发现Text-To-Speech标签的​​问题,如果你不能回答那么请对这个问题进行投票,这有助于我快速找到答案。我没有积分让问题有吸引力!!请!!请!!请!!

1 个答案:

答案 0 :(得分:1)

你可以在这里做四件事。

  1. 如果您从字符串资源中知道该语言是尼泊尔语,那么您可以避免尝试让TTS引擎首先发言并举杯祝酒

  2. tts.isLanguageAvailable(Locale loc)用于尼泊尔语区域设置。检查here for the probable negative responses。假设回答是否定的,请举起祝酒词。

  3. 检查setLanguage()same as above

  4. 的回复
  5. 检查tts.speak(...)的回复。在您上面提供的情况下,您会希望返回ERROR。你可以举起吐司。

  6. 我想至少有一个上面会给你一个错误,所以你可以向用户干杯。同样的方法应该应用于您应用支持的任何区域设置。