flutter_tts_ohos 4.2.5
flutter_tts_ohos: ^4.2.5 copied to clipboard
flutter_tts 的鸿蒙化实现 - 为 OpenHarmony 平台提供文本转语音功能。
flutter_tts_ohos #
flutter_tts 的鸿蒙(OpenHarmony)化实现
这是 flutter_tts 插件的鸿蒙化适配版本,为 OpenHarmony 平台提供文本转语音(TTS)功能。
功能介绍 #
基于 HarmonyOS CoreSpeechKit 的 textToSpeech 模块实现文本转语音功能,支持中文和英文语音合成与播放。
使用方法 #
安装 #
在 pubspec.yaml 中添加依赖:
dependencies:
flutter_tts: ^4.2.5 # 原插件,提供 API 接口
flutter_tts_ohos: ^4.2.5 # 鸿蒙化实现
示例代码 #
import 'package:flutter_tts/flutter_tts.dart';
FlutterTts flutterTts = FlutterTts();
// 朗读文本
await flutterTts.speak('Hello, World!');
// 设置语言
await flutterTts.setLanguage('zh-CN');
// 设置语速
await flutterTts.setSpeechRate(0.8);
// 设置音量
await flutterTts.setVolume(1.0);
// 设置音调
await flutterTts.setPitch(1.0);
// 停止朗读
await flutterTts.stop();
注意:调用代码与原插件完全一致,无需修改现有代码。
示例 #
cd example
flutter run
技术实现 #
鸿蒙端实现 #
鸿蒙端的实现基于 @ohos/flutter_ohos Flutter Plugin API 和 @kit.CoreSpeechKit,主要涉及:
FlutterPlugin:插件主接口MethodCallHandler:处理方法调用AbilityAware:感知 Ability 生命周期textToSpeech.TextToSpeechEngine:鸿蒙原生 TTS 引擎
Method Channel #
插件使用名为 flutter_tts 的 Method Channel 进行 Dart 与鸿蒙原生代码的通信,与原插件保持一致。
支持的方法:
| 方法名 | 说明 |
|---|---|
speak |
朗读指定文本 |
stop |
停止朗读 |
pause |
暂停(映射为 stop) |
setLanguage |
设置语言(如 zh-CN, en-US) |
setSpeechRate |
设置语速(0.5-2.0) |
setVolume |
设置音量(0.0-2.0) |
setPitch |
设置音调(0.5-2.0) |
setVoice |
设置特定语音 |
clearVoice |
清除语音设置,恢复默认 |
getLanguages |
获取支持的语音列表 |
getVoices |
获取语音列表 |
isLanguageAvailable |
检查语言是否可用 |
getSpeechRateValidRange |
获取语速有效范围 |
awaitSpeakCompletion |
设置是否等待朗读完成 |
setQueueMode |
设置队列模式 |
getMaxSpeechInputLength |
获取最大输入长度 |
注意事项 #
- 鸿蒙 TTS 默认离线模式,需要设备已下载对应语言的语音包。
pause方法在鸿蒙 TTS 中映射为stop,因为 CoreSpeechKit 不支持原生暂停。synthesizeToFile方法在鸿蒙平台暂未实现。- iOS 特有方法(如
setIosAudioCategory、setSharedInstance)在鸿蒙平台为 no-op。 - Android 特有方法(如
setEngine、setSilence、setQueueMode等)在鸿蒙平台为 no-op 或简化实现。
参考链接 #
许可证 #
MIT License