gpt4 book ai didi

android - TextToSpeech 口音变化

转载 作者:搜寻专家 更新时间:2023-11-01 09:23:45 27 4
gpt4 key购买 nike

我正在使用下面的库来实现 TextToSpeech 功能来说话 -

'net.gotev:speech:1.3.1'

现在我需要将所有国家/地区的口音更改为我尝试过的美国英语 -

Speech.getInstance().setLocale(Locale.US);

但它不起作用,请指导我。

在下面代码的帮助下,我试图让它说出一个词 -

Speech.getInstance().say("Hello", new TextToSpeechCallback() {

@Override
public void onStart() {

}

@Override
public void onCompleted() {

}

@Override
public void onError() {

}
});

例如,现在它实际上使用基于语言环境的英语口音说话 -如果它是由俄罗斯用户运行的,那么由于它的语言环境,它会用俄罗斯口音说英语,但我希望它应该用美国英语口音而不是基于语言环境的口音说

最佳答案

在查看了该库的代码之后,我认为您只使用标准的 Android TextToSpeech object 会好得多。 .

使用 normal TextToSpeech , 做你想做的事情可以很简单:

TextToSpeech tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int i) {
tts.setLanguage(Locale.US);
tts.speak("Hello", TextToSpeech.QUEUE_FLUSH, null);
}
});

我在该库中看到的问题:

  • 它不使用自己的嵌入式引擎,而是简单地包装一个标准的 Android TextToSpeech 对象,而不知道设备上的引擎是什么类型!
  • 它使用单例模式,在某些语音引擎(如 Google)的情况下,这种模式很容易出现内存泄漏。
  • 这个问题与您的问题相关:检查或响应其内部 TextToSpeech 对象的初始化没有任何意义。这意味着当它试图在其内部 TTS 对象上设置默认 Locale 时,它​​实际上什么都不做......但错误是不可见的,因为 TTS 默认情况下会这样做。但是,当您尝试手动设置语言环境时,同样的事情会发生(没有),因为 TTS 对象尚未初始化。

关于android - TextToSpeech 口音变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52423206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com