`
wen742538485
  • 浏览: 238917 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android 通过手说tts中文语音包实现中文朗读

阅读更多
Android 通过手说tts中文语音包实现中文朗读


关于手说tts中文语音包的详细资料可以查看官网 http://shoushuo.com/index.html

手说TTS,是Android平台下的中文语音引擎,提供了中文文本到语音的转换。
使用手说TTS进行中文文本的朗读,包括中文简繁体、阿拉伯数字、英文字母及一些符号的混读。并且处理了中文的多音字和音调转换等问题。
开发人员可以使用手说TTS来开发Android平台下需要中文语音的应用程序。

开发准备:

第一步:安装手说TTS安装包

从官网 http://shoushuo.com/sstts.html 下载手说TTS安装包:ShoushuoTTS.apk 。

安装到真实手机或者手机模拟器中。



第二步:下载手说TTS客户类库包

下载手说TTS客户类库包:shoushuotts.jar 。

将该jar文件引入到你的应用中。



第二步:demo实现

xml文件

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<EditText   
    android:id="@+id/edtSpeectText" 
    android:layout_width="fill_parent"   
    android:layout_height="wrap_content"   
    android:text="太阳从东边升起,慢慢的露出红彤彤的笑脸。" 
    /> 
 
<Button    
    android:id="@+id/btnSpeechGo" 
    android:layout_width="fill_parent"   
    android:layout_height="wrap_content"   
    android:text="开始朗读" 
    android:onClick="speechText" 
    /> 
</LinearLayout> 
java代码:

Java代码
package com.zhouzijing.android.demo;  
 
import com.shoushuo.android.tts.ITts;  
import com.shoushuo.android.tts.ITtsCallback;  
import android.app.Activity;  
import android.content.ComponentName;  
import android.content.Context;  
import android.content.Intent;  
import android.content.ServiceConnection;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.IBinder;  
import android.os.Message;  
import android.os.RemoteException;  
import android.speech.tts.TextToSpeech;  
import android.view.View;  
import android.widget.Button;  
import android.widget.EditText;  
import android.widget.Toast;  
 
public class SpeechActivity extends Activity {  
 
    private EditText edtSpeectText;  
    private Button btnSpeechGo;  
    private Context context;  
    private ITts ttsService;  
    private boolean ttsBound;  
 
    /** 
     * 定义Handler. 
     */ 
    private final Handler handler = new Handler() {  
        @Override 
        public void handleMessage(Message msg) {  
            Toast.makeText(context, " 我的话说完了 ", Toast.LENGTH_SHORT).show();  
            btnSpeechGo.setEnabled(true);  
        }  
    };  
 
    /** 
     * 回调参数. 
     */ 
    private final ITtsCallback ttsCallback = new ITtsCallback.Stub() {  
        //朗读完毕.  
        @Override 
        public void speakCompleted() throws RemoteException {  
            handler.sendEmptyMessage(0);  
        }  
    };  
 
    /** 
     * tts服务连接. 
     */ 
    private final ServiceConnection ttsConnection = new ServiceConnection() {  
        @Override 
        public void onServiceDisconnected(ComponentName arg0) {  
            try {  
                //注册回调参数  
                ttsService.unregisterCallback(ttsCallback);  
            } catch (RemoteException e) {  
                e.printStackTrace();  
            }  
            ttsService = null;  
            ttsBound = false;  
        }  
        @Override 
        public void onServiceConnected(ComponentName name, IBinder service) {  
            ttsService = ITts.Stub.asInterface(service);  
            ttsBound = true;  
            try {  
                //tts服务初始化  
                ttsService.initialize();  
                //撤销回调参数.  
                ttsService.registerCallback(ttsCallback);  
            } catch (RemoteException e) {  
            }  
        }  
    };  
 
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.speech_text);  
        context = this;  
        edtSpeectText = (EditText) findViewById(R.id.edtSpeectText);  
        btnSpeechGo = (Button) findViewById(R.id.btnSpeechGo);  
    }  
 
    /** 
     * 按钮:朗读. 
     *  
     * @param v 
     */ 
    public void speechText(View v) {  
        v.setEnabled(false);  
        try {  
            ttsService.speak(edtSpeectText.getText().toString(),  
                    TextToSpeech.QUEUE_FLUSH);  
        } catch (RemoteException e) {  
            e.printStackTrace();  
        }  
    }  
 
    @Override 
    protected void onDestroy() {  
        if (ttsBound) {  
            ttsBound = false;  
            //撤销tts服务  
            this.unbindService(ttsConnection);  
        }  
        super.onDestroy();  
    }  
 
    @Override 
    protected void onStart() {  
        super.onStart();  
        if (!ttsBound) {  
            String actionName = "com.shoushuo.android.tts.intent.action.InvokeTts";  
            Intent intent = new Intent(actionName);  
            //绑定tts服务  
            this.bindService(intent, ttsConnection, Context.BIND_AUTO_CREATE);  
        }  
    }  
 

分享到:
评论

相关推荐

    android实现语音朗读 支持中文朗读 TTS 讯飞语音库

    android下实现对文本的语音朗读,TTS技术,支持中文朗读。Android SDK 4.04下测试通过。 附件包含测试源代码及语音库文件 这是语音合成测试工程,如果需要朗读中文请安装中文引擎。我采用的是讯飞语音库,手机版本...

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

    本资源是针对使用Delphi D10.3进行Android应用开发的实践案例,它演示了如何简洁高效地实现调用系统TTS进行中文语音朗读。 首先,我们需要了解Delphi。Delphi是一款强大的RAD(快速应用开发)工具,由Embarcadero ...

    免费下载 android tts语音包 TTS_library_stub_3.0_market.jar

    用于Android开发中基础的语音开发包

    科大讯飞TTS离线语音包

    总的来说,科大讯飞TTS离线语音包是Android开发者实现高质量、离线语音合成的重要工具。它不仅可以提升应用的可用性,还在无网络环境、低带宽条件下保证了语音服务的稳定性和效率。对于那些注重用户体验和语音交互的...

    安卓语音识别文本朗读相关-androidtts集成手说语音库完成文本转语音需要下载手说apk.zip

    综上所述,这个项目涵盖了Android原生的TTS服务和第三方手说语音库的集成,对于开发者来说,这不仅是一次了解和实践Android语音技术的机会,也是提升应用交互体验的良好实践。通过深入学习和调试,开发者可以掌握更...

    svox 支持中文朗读的TTS

    总结来说,svox是一个支持中文的TTS系统,通过安装相应的主程序和语言包,能够在Android设备上实现普通话和粤语的语音合成。这对于需要中文语音输出的用户,如视力障碍者、非母语学习者或需要在各种应用中使用中文...

    android中文语音tts

    总的来说,Android中文语音TTS技术为开发者提供了强大的工具,使应用程序能够以自然、流畅的方式读出文本,极大地增强了用户体验。结合三星的中文语音引擎,开发者可以创建出高效、人性化的语音阅读应用,尤其适用于...

    微软TTS语音引擎实现文本朗读代码

    微软TTS语音引擎提供了Windows Speech SDK开发包供编程者使用。Windows Speech SDK包含语音合成SS引擎和语音识别SR引擎两种,语音合成引擎用于将文字转换成语音输出,语音识别引擎用于识别语音命令。

    Android TTs 文本转语音朗读源码

    以下是对这个"Android TTs 文本转语音朗读源码"的详细解读。 1. **TextToSpeech类的引入** Android系统的TextToSpeech类是实现TTS的核心组件。它提供了初始化、设置语言、合成语音以及播放语音等一系列接口。...

    安卓语音识别文本朗读相关-三个android语音识别例程mystt.rar

    在安卓平台上,语音识别和文本朗读是两个重要的功能,它们极大地增强了用户的交互体验,尤其对于移动设备上的应用来说更是如此。在这个名为“安卓语音识别文本朗读相关-三个android语音识别例程mystt.rar”的压缩包...

    安卓Android源码——语音朗读-语音识别-语音.rar

    这份压缩包"安卓Android源码——语音朗读-语音识别-语音.rar"提供了实现这些功能的源代码,有助于开发者深入理解和实践。接下来,我们将详细讨论这两个主要功能:语音朗读(Text-to-Speech, TTS)和语音识别(Speech...

    详解Android SDK1.6中Text-To-Speech(TTS)语音朗读.doc

    在Android SDK 1.6中,Text-to-Speech (TTS)是一项重要的新特性,它允许应用程序将文本转化为不同语言的语音输出,极大地提升了用户体验。本文将深入解析TTS API的使用方法及其在实际项目中的应用。 首先,TTS引擎...

    Android_tts项目源码 demo

    Android TTS(Text-to-Speech)是Android系统中用于将文本转换为语音输出的功能,它允许应用程序以语音的形式朗读出屏幕上的文字。这个“Android_tts项目源码 demo”显然是一个示例项目,用于展示如何在Android应用...

    Android TTS实现简单阅读器

    本项目"Android TTS实现简单阅读器"正是基于这种技术,为用户提供了一种将文字内容朗读出来的解决方案。 一、Android TTS基础 1. TTS引擎:Android系统提供了一个TTS引擎接口,开发者可以通过这个接口来集成不同的...

    讯飞tts-3.0-粤语apk.zip

    总的来说,这个压缩包提供了科大讯飞TTS引擎的粤语版本,对于想要在Android应用中实现粤语播报的开发者来说,是一个宝贵的资源。通过理解和掌握如何使用这个引擎,开发者可以创造出更人性化、更具有包容性的应用程序...

    Android项目语音朗读-语音识别-语音.rar

    这个“Android项目语音朗读-语音识别-语音.rar”压缩包很可能是包含了一个完整的Android应用开发项目,专注于实现这两项功能。以下是关于Android语音朗读和语音识别的一些核心知识点: 1. **语音朗读(Text-to-...

    TTS.zip_TTS java_android_java tts

    5. **错误处理**:需要处理可能的错误,如TTS引擎不可用,语言包未安装等,通常会注册一个OnUtteranceCompletedListener来监听语音播放完成。 6. **释放资源**:当不再使用TTS服务时,必须调用stop()和shutdown()...

    android TextSpeech语音朗读

    在Android平台上,Text-to-Speech(TTS)技术允许应用程序将文本转换为语音输出,从而实现文字的朗读功能。Android TextSpeech是Android系统提供的一个核心服务,它可以帮助开发者为视力障碍用户或需要语音反馈的...

    基于Android实现的语音朗读-语音识别-语音程序源码+设计文档资料.zip

    这个资源包“基于Android实现的语音朗读-语音识别-语音程序源码+设计文档资料”提供了全面的开发材料,帮助开发者深入理解和实现语音功能。 一、语音朗读(Text-to-Speech,TTS) Android系统内置了Text-to-Speech...

    Android应用源码语音朗读-语音识别-语音.zip

    这个名为"Android应用源码语音朗读-语音识别-语音.zip"的压缩包文件很可能是包含了一些示例代码,用于展示如何在Android应用中实现语音朗读和语音识别功能。下面将详细探讨这两个关键知识点。 1. **语音朗读(Text-...

Global site tag (gtag.js) - Google Analytics