`

[AndroidTips]调用TextToSpeech朗读的时候如何中间停顿

阅读更多

TTS在句子中间会停顿,你也可以通过在任何字符串中加点"."后面加空格来达到目的。最多可以有三个点,最后一个点后面加空格,没有空格可能不起作用。点越多停顿时间越长。

 

下面的代码中在一开始有一个长的停顿,然后在读消息体之前也有一个停顿:

private final BroadcastReceiver SMScatcher = new BroadcastReceiver() {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        if (intent.getAction().equals(
                "android.provider.Telephony.SMS_RECEIVED")) {
            // if(message starts with SMStretcher recognize BYTE)
            StringBuilder sb = new StringBuilder();

            /*
             * The SMS-Messages are 'hiding' within the extras of the
             * Intent.
             */
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                /* Get all messages contained in the Intent */
                Object[] pdusObj = (Object[]) bundle.get("pdus");
                SmsMessage[] messages = new SmsMessage[pdusObj.length];
                for (int i = 0; i < pdusObj.length; i++) {
                    messages[i] = SmsMessage
                            .createFromPdu((byte[]) pdusObj[i]);
                }
                /* Feed the StringBuilder with all Messages found. */
                for (SmsMessage currentMessage : messages) {
                    // periods are to pause
                    sb.append("... Message From: ");
                    /* Sender-Number */
                    sb.append(currentMessage.getDisplayOriginatingAddress());
                    sb.append(".. ");
                    /* Actual Message-Content */
                    sb.append(currentMessage.getDisplayMessageBody());
                }
                // Toast.makeText(application, sb.toString(),
                // Toast.LENGTH_LONG).show();
                if (mTtsReady) {
                    try {
                        mTts.speak(sb.toString(), TextToSpeech.QUEUE_ADD,
                                null);
                    } catch (Exception e) {
                        Toast.makeText(application, "TTS Not ready",
                                Toast.LENGTH_LONG).show();
                        e.printStackTrace();
                    }
                }
            }

        }
    }
};

 

Refer to:

http://stackoverflow.com/questions/4970204/how-to-pause-android-speech-tts-texttospeech

 

分享到:
评论

相关推荐

    Android TextToSpeech语音播放文本

    在Android开发中,TextToSpeech(TTS)是一项重要的功能,它允许应用程序将文本转换为自然语言的语音输出。这个“Android TextToSpeech语音播放文本”主题主要关注如何在Android应用中实现这一特性,帮助用户以语音...

    Android中使用自带TextToSpeech实现离线语音合成功能工具类.rar

    在Android开发中,TextToSpeech(TTS)是一项重要的功能,它允许应用程序将文本转换为语音输出,使得用户可以听到程序中的文字信息,尤其适用于无障碍服务或者教育应用。本资源提供了一个利用Android自带的TextTo...

    Android(朗读文本) TextToSpeech的使用

    在Android开发中,TextToSpeech(TTS)是系统提供的一种功能,用于将文本转换为语音,让应用程序能够朗读出指定的文本内容。这个功能对于视力障碍的用户或者在驾驶、做家务等不便看屏幕的场景下尤其有用。本文将深入...

    TextToSpeech

    一旦TTS引擎准备就绪,我们就可以调用 `textToSpeech.speak()` 方法来朗读文本了。例如: ```java String text = "这是一段需要被朗读的文字"; textToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null, null); `...

    Android调用系统TTS语音中文朗读.zip

    在Android平台上,文本转语音(Text-to-Speech, TTS)技术被广泛应用于各种应用程序,以实现文字内容的语音朗读功能。对于开发者而言,利用系统内置的TTS引擎可以节省大量的开发时间与精力。本资源是针对使用Delphi ...

    TextToSpeech,离线语音合成,使用科大讯飞离线引擎,不需要联网

    本文将深入探讨如何利用科大讯飞的离线引擎实现TextToSpeech功能,并通过一个实际的例子来说明其工作原理。 首先,我们要明白TextToSpeech(TTS)系统的基本工作流程。它主要负责将输入的文本转换为可听见的语音...

    Android 调用安卓自带文本朗读-IT计算机-毕业设计.zip

    在Android平台上,文本朗读(Text-to-Speech, TTS)是一项重要的辅助功能,它允许应用程序将文字转化为语音,尤其适用于阅读障碍者或者在驾驶、做家务等不便看屏幕的场景。本项目“Android调用安卓自带文本朗读”是...

    Android-TextToSpeech-Example:Android TextToSpeech 示例

    Android的TextToSpeech(TTS)服务是一种强大的功能,它允许应用程序将文本转换为语音输出。这个"Android-TextToSpeech-Example"项目是专为开发者设计的,目的是展示如何在Android应用中集成和使用TextToSpeech技术...

    在Android上实现文本转语音(Text-to-Speech,TTS)播放, 讯飞版本~

    在Android上实现文本转语音(Text-to-Speech,TTS)播放, 讯飞版本~ 在Android上实现文本转语音(Text-to-Speech,TTS)播放, 讯飞版本~ 在Android上实现文本转语音(Text-to-Speech,TTS)播放, 讯飞版本~

    安卓Android源码——调用安卓自带文本朗读.rar

    这个压缩包“安卓Android源码——调用安卓自带文本朗读.rar”显然是提供了关于如何利用Android系统内置的文本转语音(Text-to-Speech, TTS)服务的示例代码。下面将详细探讨Android中的TTS机制及其应用。 Android的...

    Android应用源码之调用安卓自带文本朗读.zip

    本资源"Android应用源码之调用安卓自带文本朗读.zip"提供了一个实例,展示了如何在Android应用中利用系统自带的Text-to-Speech (TTS)引擎来实现文本朗读。以下将详细介绍相关的知识点。 1. Android Text-to-Speech...

    安卓Android源码——调用安卓自带文本朗读.zip

    这个压缩包“安卓Android源码——调用安卓自带文本朗读.zip”显然是提供了关于如何利用Android系统内置的文本转语音(Text-to-Speech, TTS)服务的示例代码。在这篇文章中,我们将深入探讨Android中的TTS机制,以及...

    基于安卓原生的TextToSpeech和讯飞API实现的语音播报

    TextToSpeech是Android系统提供的一个用于将文本转换成语音输出的API。通过这个服务,开发者可以在应用程序中轻松地实现文本到语音的转换。然而,需要注意的是,虽然Android的TTS支持多种语言,但默认情况下并不包含...

    一个简单的TextToSpeech文本朗读器(TTS)

    本项目提供了一个简单的C#实现的TextToSpeech文本朗读器,支持用户双击文本进行朗读,并且可以调整语速,方便用户根据个人需求定制听觉体验。 ### TTS基本原理 TTS系统通常包含三个主要部分:文本分析、语音合成和...

    java tts text to speech

    Java TTS(Text To Speech)技术是将文本转换为语音的一种功能,广泛应用于各种软件和应用中,如屏幕阅读器、语音助手等。本项目利用Java语言调用了微软的语音库,实现文字到语音的转换。下面将详细介绍如何在Java中...

    安卓开发-调用安卓自带文本朗读.zip

    speakOut方法中,我们通过调用TextToSpeech的speak方法来实际执行文本朗读。参数包括要朗读的文本、队列管理标志(这里我们使用QUEUE_FLUSH表示立即停止当前队列并播放新的文本)、一个Bundle对象(通常用于设置额外...

    Android高级应用源码-调用安卓自带文本朗读.zip

    在Android平台上,文本朗读(Text-to-Speech, TTS)是一项重要的功能,它允许应用程序将文字转换为语音,使得视觉障碍或者不方便阅读的用户也能获取到信息。本压缩包提供的"Android高级应用源码-调用安卓自带文本...

    TextToSpeech_20210423.rar

    3. **源码实现**:TextToSpeech的源码可能会使用编程语言如Java、Python或C++实现,并且可能依赖于特定的TTS引擎,如Android的TextToSpeech API、Apple的AVFoundation框架或者开源的eSpeak、Flite或MaryTTS等。...

Global site tag (gtag.js) - Google Analytics