【问题标题】:How to create custom language for TextToSpeech?如何为 TextToSpeech 创建自定义语言?
【发布时间】:2015-12-11 13:30:23
【问题描述】:

我需要在 Android 中为 TTS 使用印度英语或印地语(母语)语言。
但是我没有找到任何与创建自定义语言相关的提示或源代码。

我该怎么做?

【问题讨论】:

    标签: android text-to-speech


    【解决方案1】:

    首先使用以下命令检查您的模拟器设备中是否安装了 TSS API。

    Intent checkIntent = new Intent();
    checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
    startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
    
    
    mTts.isLanguageAvailable(Locale.INDIA)); //try Locale.INDIA or Locale.INDIAN_ENGLISH or Locale.HINDI as I have not used Indian languages or Indian English dialect in it before
    

    这将返回TextToSpeech.LANG_COUNTRY_AVAILABLE 以表明此类语言的首选项已安装且可用。然后使用以下内容进行测试。

    String myText1 = "Did you sleep well?";
    String myText2 = "I hope so, because it's time to wake up.";
    mTts.speak(myText1, TextToSpeech.QUEUE_FLUSH, null);
    mTts.speak(myText2, TextToSpeech.QUEUE_ADD, null);
    

    更多信息可here

    编辑要检查您的手机是否支持该语言,请使用getAvailableLocales(),如下所示

       Locale loc = new Locale("en");
       Log.i("-------------",Arrays.toString(loc.getAvailableLocales()));
    

    它应该在您的日志输出中显示结果

    语言代码是 ISO 639-1 定义的两个字母的小写 ISO 语言代码(例如“en”)。国家/地区代码是由 ISO 3166-1 定义的两个大写字母 ISO 国家/地区代码(例如“US”)。

    【讨论】:

    • 谢谢...但是如何检查该语言是否可用?
    • @sandiparmal 编辑了我的答案
    • 当然..作为用户,您应该避免使用“谢谢”来发布小费,而是勾选您认为有帮助的答案。
    猜你喜欢
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 2015-08-21
    相关资源
    最近更新 更多