盛大听听中心开发指南——Android语音播报服务软件
一、概述
二、开发前准备
2.1申请权限
2.2导入接口
三、绑定服务
四、接口调用
4.1朗读
4.2停止朗读
4.3停止朗读所有
五、数据结构
5.1朗读任务类
5.2广播事件类型
六、使用高级语音设置
七、更多问题
-------------------------------------------
一、概述
听听中心是一款由盛大语音创新院推出的Android语音播报服务软件,旨在让
第三方软件方便的调用语音合成接口,使用盛大语音合成服务。朗读服务无需联
网,安全免费无限制。本文定义了盛大Android语音合成接入方法和开放接口,
供广大开发者做接入参考。
听听中心作为独立应用,安装后可作为远程服务,其他应用成功绑定后即可调用
播报接口。如果想让用户进行一些高级的语音设置,可以调用听听中心的设置
Activity进行男女音选择,音色、音调、音速、音量调节以及播报时间窗口控
制。
二、开发前准备
2.1申请权限
所有开发者需要经过申请方可使用听听中心服务接口,填写《盛大听听中心合作
申请表》并成功提交。请注意应用id填写正确,应用id在
里…定义。经审核将根据应用id开通接入权限,3个工作日内邮件回复并附接
口文件。如有应用id变更请提前邮件tingting@通知,否则会导致
无法使用语音服务。
2.2导入接口
在应用工程里面新建一个名为”e”(注意命名拼写要完全
一致)的包,将确认邮件里提供的接口文件复制到这个包的下面
三、绑定服务
定义绑定器
privateITtsServicemServiceBinder=null;
定义服务监控接口
ServiceConnectionmSConnection=newServiceConnection(){
//重写服务连接上时的回调函数
@Override
publicvoidonServiceConnected(ComponentNamename,IBinder
rvice){
//获得绑定器,之后可以用来调用语音接口
mServiceBinder=rface(rvice);
}
//重写服务断开时的回调函数
@Override
publicvoidonServiceDisconnected(ComponentNamename){
mServiceBinder=null;
}
};
绑定服务
rvice(newIntent(“”),mSConnection,
_AUTO_CREATE);
解绑服务
Service(mSConnection);
1).建议在应用生命周期内一直绑定,比如主要Activity的OnCreate()中,
OnDestroy()时解绑。
2).服务的绑定需要些许时间,如果这时候用户播报不会成功。可以在
onServiceConnected()中监控到绑定成功的信息再允许接受播报行为。
3).听听中心安装后第一次绑定会进行一些初始化工作,这时调用播报接口会返
回错误码,初始化完成会发送广播通知
四、接口调用
4.1朗读
播放TtsTask中定义的内容,如果当前有其他播放任务,会按先后顺序排队播放。
函数原型
intspeak(inTtsTaskttsTask);
参数说明
ttsTask:定义播放消息内容和调用者名称等,播放的开始和结束时都会按调用者
名称发广播通知相应的调用者。高级使用者也可以传入消息内容id等信息,广
播中会回传给调用者,用于实现一些复杂逻辑。
返回值
0为成功,其他值表示调用失败
调用示例
intresult;
TtsTasktask=newTtsTask();
t=“听我知世界”;
=“”;
if(mServiceBinder!=null){
try{
result=(task);
}catch(RemoteExceptione){
//处理异常
}
}
4.2停止朗读
根据调用者名称,停止当前正在读的消息。非该调用者的消息不会停止。
函数原型
intstopCaller(Stringcaller);
参数说明
caller:调用者名称,应该跟调用speak时传的一致。
返回值
0为成功,其他值表示调用失败
调用示例
if(mServiceBinder!=null){
try{
ller(“”);
}catch(RemoteExceptione){
//处理异常
}
}
4.3停止朗读所有
停止某调用者的所有播放任务。非该调用者的消息不会停止。
函数原型
intstopCallerAll(Stringcaller);
接口说明和事例代码请参考stopCaller接口。
五、数据结构
5.1朗读任务类
根据调用者名称,停止当前正在读的消息。非该调用者的消息不会停止。
类定义
publicclassTtsTaskimplementsParcelable
成员变量
1).publicStringcontent:需要朗读的文字内容
2).publicStringcaller:调用者名称,在任务开始朗读和朗读完毕的时刻听听中
心会发送以caller为过滤条件的广播,建议用包名作为前缀以避免跟其他应用程
序的caller重名。
3).publicLongid:任务ID,会通过广播回传
4).publicStringextra:其他自定义需要通过广播回传的数据
接收广播的例子
//定义广播接收器
...
privateBroadcastReceivermBR=newBroadcastReceiver(){
@Override
publicvoidonReceive(Contextcontext,Intentintent){
Bundleb=ras();
Stringtype=ing("type");
Longid=g("id");
if((_STOPPED_MANUALLY)){
//用户停止了听听中心的播放
...
}elif((_SPEAK_BEGIN)){
//调用者的任务(id)开始播放
...
}elif((_Speak_Finish){
//调用者的任务(id)播放完毕
...
}
}
}
...
//注册广播接收器
...
IntentFilterintentFilter=newIntentFilter(caller);
ion(MSG_STATE);
registerReceiver(mBR,intentFilter);
...
5.2广播事件类型
定义广播事件类型名称,开发者可以根据不同类型广播做相应的处理。
类定义
publicclassSndaTts
成员变量
1).publicstaticStringSTATUS_SPEAK_BEGIN:朗读开始
2).publicstaticStringSTATUS_SPEAK_FINISH:朗读结束
3).publicstaticStringSTATUS_STOPPED_BY_PHONE:朗读任务被电话来电
停止
4).publicstaticStringSTATUS_STOPPED_MANUALLY:朗读任务被用户通
过翻转手机等行为停止
六、使用高级语音设置
应用可以远程打开“听听中心”中的设置界面,让用户进行高级声音设置。
示例代码
Intentintent=newIntent();
ssName("e",
"fig");
startActivity(intent);
【联系我们】
听听中心论坛:/center/
盛大听听微博:/duanxintingting
听听推他:/
邮箱:tingting@
声音试听:/v_show/id_
(PS:听听搞笑视频,配音即为听听的基础声音。听听中心已支持用户自主调节
参数,设置个性声音。
真诚欢迎安卓平台阅读类、资讯类、服务类应用等企业与个人开发者申请合作。
多谢各位对盛大听听的关注与支持!/center/
本文发布于:2023-03-07 21:13:33,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678194813176981.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:来电语音播报.doc
本文 PDF 下载地址:来电语音播报.pdf
留言与评论(共有 0 条评论) |