Android TextToSpeech 教程

2025年3月17日 | 阅读 3 分钟

在 Android 中,您可以通过 TextToSpeech 类将文本转换为语音。转换完成后,您可以播放声音或创建声音文件。

TextToSpeech 类的构造函数

  • TextToSpeech(Context context, TextToSpeech.OnInitListener)

TextToSpeech 类的常用方法

TextToSpeech 类的常用方法如下:

方法描述
int speak (String text, int queueMode, HashMapparams)将文本转换为语音。Queue Mode 可以是 QUEUE_ADD 或 QUEUE_FLUSH。Request 参数可以为 null,KEY_PARAM_STREAM,KEY_PARAM_VALUME 等。
int setSpeechRate(float speed)设置语音的语速。
int setPitch(float speed)设置语音的音高。
int setLanguage (Locale loc)设置特定区域的语音语言。
void shutdown()释放 TextToSpeech 引擎占用的资源。
int stop()中断当前的发音(无论是播放还是渲染到文件),并丢弃队列中的其他发音。

TextToSpeech.OnInitListener 接口

您需要实现 TextToSpeech.OnInitListener 接口,以对 TextToSpeech 引擎执行事件处理。

TextToSpeech.OnInitListener 接口的方法

此接口只有一个方法。

方法描述
void onInit (int status)在 TextToSpeech 引擎初始化完成后调用,以信号通知。状态可以是 SUCCESS 或 ERROR。

Android TextToSpeech 示例

让我们编写代码将文本转换为语音。

activity_main.xml

为布局添加一个 textview、一个 edittext 和一个 button。现在 activity_main.xml 文件将如下所示:

文件:activity_main.xml

Activity 类

让我们看看用于朗读给定文本的代码。

文件:MainActivity.java


您需要将其在真机(例如手机)上运行以测试应用程序。


下一篇:带语速和音高选项的 TextToSpeech 示例

带语速和音高选项的 TextToSpeech 示例