You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中设置阿姆哈拉语原生口音的语音双向转换

解决阿姆哈拉语TTS原生口音设置问题

核心修改方向

你当前代码使用英语(en-US)的语言和语音配置,要切换到阿姆哈拉语原生口音,需从语言代码和对应语音选择两方面调整:

1. 替换语言代码

阿姆哈拉语的标准语言代码为 am-ET(代表埃塞俄比亚地区的阿姆哈拉语),先修改setLanguage的参数:

await _flutterTts.setLanguage('am-ET');

2. 获取并设置阿姆哈拉语原生语音

不同设备支持的阿姆哈拉语语音存在差异,建议先获取设备可用语音列表,筛选出locale为am-ET的语音再配置:

Future _Speak() async {
    // 获取设备所有可用语音
    List<dynamic> voices = await _flutterTts.getVoices;
    // 筛选阿姆哈拉语语音
    Map<String, String>? amharicVoice;
    for (var voice in voices) {
      if (voice['locale'] == 'am-ET') {
        amharicVoice = {"name": voice['name'], "locale": voice['locale']};
        break;
      }
    }

    if (amharicVoice != null) {
      await _flutterTts.setLanguage('am-ET');
      await _flutterTts.setVoice(amharicVoice);
    } else {
      // 无阿姆哈拉语语音时的处理逻辑
      print('设备未安装阿姆哈拉语TTS语音包');
    }

    await _flutterTts.setPitch(1.0);
    await _flutterTts.setVolume(1);
    await _flutterTts.setSpeechRate(0.5);
    
    if (_tts != null && _tts!.isNotEmpty) {
      await _flutterTts.speak(_tts!);
    }
  }

3. 设备环境准备

  • Android:确保设备安装支持阿姆哈拉语的TTS引擎(如Google文字转语音),并在系统设置中启用阿姆哈拉语语音包。
  • iOS:检查系统版本(iOS 14+通常已支持),可在「设置」-「辅助功能」-「语音内容」-「语音」中确认是否有阿姆哈拉语选项。

内容的提问来源于stack exchange,提问作者Markos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:10:25