`

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

    texttospeech_for_android

    【标题】"texttospeech_for_android" 涉及的核心技术是 Android 平台上的文本转语音(Text-to-Speech,TTS)服务。这是一个关键的Android应用开发功能,允许程序将文字信息转化为可听见的语音输出,为用户提供便捷的...

    TextToSpeech

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

    Android代码-调用安卓自带文本朗读.rar

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

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

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

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

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

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

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

    安卓开发-调用安卓自带文本朗读.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等。...

    安卓语音识别文本朗读相关-调用安卓自带文本朗读.rar

    textToSpeech.speak("这是一段要朗读的文本", TextToSpeech.QUEUE_FLUSH, null, null); } } } }); ``` 3. **注意事项**: - 对于语音识别,确保用户有权限访问麦克风,需要在`AndroidManifest.xml`中添加`...

    TextToSpeech:Android上的文本到语音转换器

    在Android应用中使用TextToSpeech,首先需要创建TextToSpeech对象,并通过调用`init()`方法进行初始化。这个过程需要传入上下文(Context)和一个实现`TextToSpeech.OnInitListener`接口的回调,用于监听初始化状态。...

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

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

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

    在Android开发中,语音合成...在毕业设计或代码学习项目中,掌握如何调用Android自带的文本朗读功能可以增加应用的交互性和用户体验。通过深入学习和实践这些API,开发者可以构建出更加智能和人性化的Android应用。

    Android程序研发源码Android 英语朗读器源码.rar

    在Android平台上开发应用程序时,有时候我们需要实现特定的功能,比如这个案例中的“英语朗读器”。这个源码项目可能包含了实现语音合成(Text-to-Speech, TTS)的技术,这对于教育、学习或者辅助障碍人士的应用非常...

    语音朗读 支持英文

    总之,Android平台提供了丰富的语音朗读支持,无论是使用内置的TextToSpeech引擎还是云服务,都可以轻松实现英文的语音合成。开发者可以根据应用的需求和用户群体选择合适的方案,为用户提供更人性化的交互体验。...

    Simple Text to Speech App using JavaScript

    在这个"Simple Text to Speech App using JavaScript"项目中,我们将深入探讨如何利用JavaScript实现文本转语音功能,这在游戏开发、无障碍设计、教育应用等领域都有广泛应用。 首先,JavaScript的Text-to-Speech...

Global site tag (gtag.js) - Google Analytics