tts文字转语音_Android文字转语音(TTS)

本文详细介绍了如何在Android应用中使用TextToSpeech(TTS)库将文字转化为语音。通过初始化引擎,设置语言,读取用户输入的单词,并调整音调和语速等参数,可以创建一个能读取和控制语音输出的应用。提供了实现TTS功能的代码示例。
摘要由CSDN通过智能技术生成

tts文字转语音

这篇文章介绍了如何在Android中使用文字转语音(TTS) 。 找不到说明如何使用它的帖子并不常见,并且它是Android的一部分,内容不多。 我认为TTS非常有趣,因为它可以为应用程序添加一些不错的功能。 文字转语音是Android平台的一项功能,可用于“读取”单词并使应用说话,或更详细地进行合成
文本。

在这篇文章中,我想介绍如何在Android中实现TTS,以及我们如何控制语音引擎的一些有趣方面。 我们想要编写一个具有EditText小部件的应用程序,以便我们编写必须阅读的单词以及一些用于修改语音引擎的控件。

android_text_to_speech

文字转语音引擎

要在我们的应用中使用TTS ,我们要做的第一件事就是初始化引擎。 控制引擎的类称为TextToSpeech

engine = new TextToSpeech(this, this);

其中第一个参数是上下文,另一个是侦听器。 该侦听器用于通知我们的应用程序该引擎已准备好使用。 为了得到通知,我们必须实现TextToSpeech.OnInitListener ,所以我们有:

public class MainActivity extends Activity implements TextToSpeech.OnInitListener {
    ....
    @Override
    public void onInit(int status) {
        Log.d(&Speech&, &OnInit - Status [&+status+&]&);

        if (status == TextToSpeech.SUCCESS) {
            Log.d(&Speech&, &Success!&);
            engine.setLanguage(Locale.UK);
        }
    }
}

我们使用onInit作为回调方法,当引擎准备就绪时,我们设置引擎用来读取句子的默认语言。

读单词

现在我们的引擎已经可以使用了,我们只需要简单地传递我们想要读取的字符串即可。 为此,我们使用EditText,以便用户可以编辑他的字符串,并且当他单击麦克风时,应用程序开始阅读。 由于琐碎琐碎,因此无需过多说明代码,当用户单击麦克风按钮时,我们会集中注意力:

speechButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                speech();
            }
        });

哪里

private void speech() {
        engine.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null, null);
    }

我们只需要调用speak方法,使我们的应用程序阅读的文本!

控制文本到语音引擎的参数

我们可以更好地控制引擎如何阅读句子。 我们可以修改例如音调语速

例如,在应用程序中,我们使用了两个搜索栏来控制音高和速率。 如果要设置语音音调,则可以使用setPitch传递一个float值。

另一方面,如果要更改语音速率,可以使用setSpeechRate

在我们的应用程序中,我们从两个搜索栏读取此值,语音方法变为:

private void speech() {
        engine.setPitch((float) pitch);
        engine.setSpeechRate((float) speed);
        engine.speak(editText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null, null);
    }

翻译自: https://www.javacodegeeks.com/2015/02/android-text-speech-tts.html

tts文字转语音

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值