【问题标题】:Hindi Text To Speak Issue印地语文本朗读问题
【发布时间】:2024-01-05 02:26:01
【问题描述】:

我已推荐speak-with-tts-such-as-hindi

我已经这样做了:

extToSpeech text2speechHi;

 text2speechHi=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
            @Override    public void onInit(int status) {
                if(status != TextToSpeech.ERROR) {
                    text2speechHi.setLanguage(new Locale("hin"));
                }
            }
        });



text2speechHi.speak(getResources().getString(R.string.hindi_text), TextToSpeech.QUEUE_FLUSH, null);

但仍然没有阅读.... 如何查看输出?是否更改我运行代码的任何设备设置?还是需要安装什么??

这是什么eSpeak 他们在该链接中提到...任何其他可用的免费选项?有谁成功实现过这个????

它在英语text2speech.setLanguage(Locale.UK); 下工作得很好

【问题讨论】:

标签: android text-to-speech


【解决方案1】:

您在初始化完成之前调用 speak(),即在调用 onInit 之前,因此尚未调用 setLanguage。重构您的代码以遵循异步模式,例如将speak() 移动到onInit 方法中。

编辑:OP 说有问题的代码 sn-p 不代表实际代码。在删除或更新答案之前等待澄清。

【讨论】:

  • 实际上我是从另一个函数调用 speak() 。如果语言是 text2speech.setLanguage(Locale.UK); ...所以如果我没记错的话,我不认为这是因为任何模式
  • 那你为什么要提交不相关的代码?请使用您的实际代码进行更新。
  • 您是否安装了印地语 TTS 引擎?
  • 没有 tts 引擎是什么?在哪里安装??在我的手机里??
  • tts(文本到语音)引擎实际上是提供声音文件和从文本到合成语音的转换。 Google 的引擎现在应该支持印地语,但它可能是一个好的开始,检查您是否已在设备设置中安装并激活它(在语言下)。如果看起来没问题,那么下一个合乎逻辑的步骤是发布您的实际代码并告诉我们实际发生了什么。也可能阅读 Android tts,这一切都在文档和他们的开发者博客中