为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

盛大听听中心开发指南——Android语音播报服务软件

2012-02-23 9页 doc 45KB 72阅读

用户头像

is_005187

暂无简介

举报
盛大听听中心开发指南——Android语音播报服务软件盛大听听中心开发指南——Android语音播报服务软件 一、概述 二、开发前准备 2.1 申请权限 2.2 导入接口 三、绑定服务 四、接口调用 4.1 朗读 4.2 停止朗读 4.3 停止朗读所有 五、数据结构 5.1 朗读任务类 5.2 广播事件类型 六、使用高级语音设置 七、更多问题 ------------------------------------------- 一、概述 听听中心是一款由盛大语音创新院推出的Android语音播报服务软件,旨在...
盛大听听中心开发指南——Android语音播报服务软件
盛大听听中心开发指南——Android语音播报服务软件 一、概述 二、开发前准备 2.1 申请权限 2.2 导入接口 三、绑定服务 四、接口调用 4.1 朗读 4.2 停止朗读 4.3 停止朗读所有 五、数据结构 5.1 朗读任务类 5.2 广播事件类型 六、使用高级语音设置 七、更多问题 ------------------------------------------- 一、概述 听听中心是一款由盛大语音创新院推出的Android语音播报服务软件,旨在让第三方软件方便的调用语音合成接口,使用盛大语音合成服务。朗读服务无需联网,安全免费无限制。本文定义了盛大Android语音合成接入方法和开放接口,供广大开发者做接入参考。 听听中心作为独立应用,安装后可作为远程服务,其他应用成功绑定后即可调用播报接口。如果想让用户进行一些高级的语音设置,可以调用听听中心的设置Activity进行 男女音选择,音色、音调、音速、音量调节以及播报时间窗口控制。 二、开发前准备 2.1 申请权限 所有开发者需要经过申请方可使用听听中心服务接口,填写《盛大听听中心合作申请》并成功提交。请注意应用id填写正确,应用id在AndroidManifest.xml里 … 定义。经审核将根据应用id开通接入权限,3个工作日内邮件回复并附接口文件。如有应用id变更请提前邮件tingting@snda.com通知,否则会导致无法使用语音服务。 2.2 导入接口 在应用工程里面新建一个名为”com.snda.tts.service”(注意命名拼写要完全一致)的包,将确认邮件里提供的接口文件复制到这个包的下面 三、绑定服务 定义绑定器 private ITtsService mServiceBinder = null; 定义服务监控接口 ServiceConnection mSConnection = new ServiceConnection() { // 重写服务连接上时的回调函数 @Override public void onServiceConnected(ComponentName name, IBinder service) { // 获得绑定器,之后可以用来调用语音接口 mServiceBinder = ITtsService.Stub.asInterface(service); } // 重写服务断开时的回调函数 @Override public void onServiceDisconnected(ComponentName name) { mServiceBinder = null; } }; 绑定服务 context.bindService(new Intent(“com.snda.xxx”), mSConnection, Context.BIND_AUTO_CREATE); 解绑服务 context.unbindService(mSConnection); 1). 建议在应用生命周期内一直绑定,比如主要Activity的OnCreate()中,OnDestroy()时解绑。 2). 服务的绑定需要些许时间,如果这时候用户播报不会成功。可以在onServiceConnected()中监控到绑定成功的信息再允许接受播报行为。 3). 听听中心安装后第一次绑定会进行一些初始化工作,这时调用播报接口会返回错误码,初始化完成会发送广播通知 四、接口调用 4.1 朗读 播放TtsTask中定义的内容,如果当前有其他播放任务,会按先后顺序排队播放。 函数原型 int speak(in TtsTask ttsTask); 参数说明 ttsTask: 定义播放消息内容和调用者名称等,播放的开始和结束时都会按调用者名称发广播通知相应的调用者。高级使用者也可以传入消息内容id等信息,广播中会回传给调用者,用于实现一些复杂逻辑。 返回值 0 为成功,其他值表示调用失败 调用示例 int result; TtsTask task = new TtsTask(); task.content = “听我知世界”; task.caller = “com.xxx.caller”; if (mServiceBinder != null) { try { result = mServiceBinder.speak(task); } catch (RemoteException e) { // 处理异常 } } 4.2 停止朗读 根据调用者名称,停止当前正在读的消息。非该调用者的消息不会停止。 函数原型 int stopCaller(String caller); 参数说明 caller: 调用者名称,应该跟调用speak时传的TtsTask.caller一致。 返回值 0 为成功,其他值表示调用失败 调用示例 if (mServiceBinder != null) { try { mServiceBinder.stopCaller(“com.xxx.caller”); } catch (RemoteException e) { // 处理异常 } } 4.3 停止朗读所有 停止某调用者的所有播放任务。非该调用者的消息不会停止。 函数原型 int stopCallerAll(String caller); 接口说明和事例代码请参考stopCaller接口。 五、数据结构 5.1 朗读任务类 根据调用者名称,停止当前正在读的消息。非该调用者的消息不会停止。 类定义 public class TtsTask implements Parcelable 成员变量 1). public String content: 需要朗读的文字内容 2). public String caller: 调用者名称,在任务开始朗读和朗读完毕的时刻听听中心会发送以caller为过滤条件的广播,建议用包名作为前缀以避免跟其他应用程序的caller重名。 3). public Long id: 任务ID,会通过广播回传 4). public String extra: 其他自定义需要通过广播回传的数据 接收广播的例子 // 定义广播接收器 ... private BroadcastReceiver mBR = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Bundle b = intent.getExtras(); String type = b.getString("type"); Long id = b.getLong("id"); if (type.equals(SndaTts.STATUS_STOPPED_MANUALLY)) { // 用户停止了听听中心的播放 ... } else if (type.equals(SndaTts.STATUS_SPEAK_BEGIN)) { // 调用者的任务(id)开始播放 ... } else if (type.equals(SndaTts.Status_Speak_Finish){ // 调用者的任务(id)播放完毕 ... } } } ... // 注册广播接收器 ... IntentFilter intentFilter = new IntentFilter(caller); intentFilter.addAction(MSG_STATE); registerReceiver(mBR, intentFilter); ... 5.2 广播事件类型 定义广播事件类型名称,开发者可以根据不同类型广播做相应的处理。 类定义 public class SndaTts 成员变量 1). public static String STATUS_SPEAK_BEGIN: 朗读开始 2). public static String STATUS_SPEAK_FINISH: 朗读结束 3). public static String STATUS_STOPPED_BY_PHONE: 朗读任务被电话来电停止 4). public static String STATUS_STOPPED_MANUALLY: 朗读任务被用户通过翻转手机等行为停止 六、使用高级语音设置 应用可以远程打开“听听中心”中的设置界面,让用户进行高级声音设置。 示例代码 Intent intent = new Intent(); intent.setClassName("com.snda.tts.service", "com.snda.tts.config.TtsConfig"); startActivity(intent); 【联系我们】 听听中心论坛:http://tingting.sdo.com/center/index.html 盛大听听微博:http://weibo.com/duanxintingting 听听推他:http://duanxintingting.tuita.com/ 邮箱:tingting@snda.com 声音试听:http://v.youku.com/v_show/id_XMzA1ODI0Mjg4.html (PS:听听搞笑视频,配音即为听听的基础声音。听听中心已支持用户自主调节参数,设置个性声音。 真诚欢迎安卓平台阅读类、资讯类、服务类应用等企业与个人开发者申请合作。多谢各位对盛大听听的关注与支持!http://tingting.sdo.com/center/apply.html
/
本文档为【盛大听听中心开发指南——Android语音播报服务软件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索