适用于多种语言的android tts

标签 android text-to-speech language-translation google-voice

我正在开发一个也有 TTS 功能的安卓翻译应用。我的问题是希腊语语音无法正常工作。它只会说字符也不会说印地语。我用眼镜发现谷歌 TTS 不支持希腊语。是不是下载了希腊语语言包就可以正常使用了。请建议我是否有效,如果无效,那么原因是什么。

最佳答案

我之前遇到过同样的问题。

您可以使用 Google 在线 TTS。

这是我的示例代码。

public void Online_TTS(final String text,final String lan) {

    new Thread(new Runnable() {
        @Override
        public void run() {
            String Url = "https://translate.google.com/translate_tts?ie=UTF-8";
            String pronouce = "&q=" + text.replaceAll(" ", "%20");
            String language = "&tl=" + lan;
            String web = "&client=tw-ob";

            String fullUrl = Url + pronouce + language + web;

            Uri uri = Uri.parse(fullUrl);
            MediaPlayer mediaPlayer = new MediaPlayer();
            try {
                mediaPlayer.setDataSource(MainActivity.this,uri);
                mediaPlayer.prepare();
                mediaPlayer.start();
            } catch (IOException e) {
                e.printStackTrace();
                Log.i(TAG,"error");
            }
        }
    }).start();
}

希望能帮到你

关于适用于多种语言的android tts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33118121/

相关文章:

c# - SpeechSynthesizer .NET 控制音高

C# HMAC 到 Java

android - 向下滚动 ListView 时随机复选框被选中

Android getAbsolutePath() 不返回完整路径

java - 在 Android Studio 中初始化 TextToSpeech 类

java - Java 应用程序中的 Microsoft Translator API

python - Django 翻译不起作用

android - native 崩溃 : IntentService

android - 如何使 android 中的偏心旋转动画在纵向和横向上看起来相似?

android - onUtteranceCompleted 没有被调用?