最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

IT圈 admin 37浏览 0评论

2023年12月2日发(作者:毋幼枫)

盛大听听中心开发指南——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”(注意命名拼写要完全一致)的包,将确认邮件里提供的接口文件复制到这个包的下面

三、绑定服务

定义绑定器

private ITtsService mServiceBinder = null;

定义服务监控接口

ServiceConnection mSConnection = new ServiceConnection() {

// 重写服务连接上时的回调函数

@Override public void onServiceConnected(ComponentName name, IBinder

service) {

};

}

// 重写服务断开时的回调函数

@Override

public void onServiceDisconnected(ComponentName name) {

}

mServiceBinder = null;

// 获得绑定器,之后可以用来调用语音接口

mServiceBinder = rface(service);

绑定服务

rvice(new Intent(“”), mSConnection,

_AUTO_CREATE);

解绑服务

Service(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();

t = “听我知世界”;

= “”;

if (mServiceBinder != null) {

try { result = (task);

} catch (RemoteException e) {

// 处理异常

}

}

4.2 停止朗读

根据调用者名称,停止当前正在读的消息。非该调用者的消息不会停止。

函数原型

int stopCaller(String caller);

参数说明

caller: 调用者名称,应该跟调用speak时传的一致。

返回值

0 为成功,其他值表示调用失败

调用示例

if (mServiceBinder != null) {

}

try {

ller(“”);

} 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 = ras();

String type = ing("type");

Long id = g("id");

if ((_STOPPED_MANUALLY)) {

// 用户停止了听听中心的播放

...

} else if ((_SPEAK_BEGIN)) {

// 调用者的任务(id)开始播放

...

} else if ((_Speak_Finish){

}

// 调用者的任务(id)播放完毕

... IntentFilter intentFilter = new IntentFilter(caller);

ion(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();

ssName("e",

"fig"); startActivity(intent);

【联系我们】

听听中心论坛:/center/

盛大听听微博:/duanxintingting

听听推他:/

邮箱:tingting@

声音试听:/v_show/id_

(PS:听听搞笑视频,配音即为听听的基础声音。听听中心已支持用户自主调节参数,设置个性声音。

真诚欢迎安卓平台阅读类、资讯类、服务类应用等企业与个人开发者申请合作。多谢各位对盛大听听的关注与支持!/center/

2023年12月2日发(作者:毋幼枫)

盛大听听中心开发指南——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”(注意命名拼写要完全一致)的包,将确认邮件里提供的接口文件复制到这个包的下面

三、绑定服务

定义绑定器

private ITtsService mServiceBinder = null;

定义服务监控接口

ServiceConnection mSConnection = new ServiceConnection() {

// 重写服务连接上时的回调函数

@Override public void onServiceConnected(ComponentName name, IBinder

service) {

};

}

// 重写服务断开时的回调函数

@Override

public void onServiceDisconnected(ComponentName name) {

}

mServiceBinder = null;

// 获得绑定器,之后可以用来调用语音接口

mServiceBinder = rface(service);

绑定服务

rvice(new Intent(“”), mSConnection,

_AUTO_CREATE);

解绑服务

Service(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();

t = “听我知世界”;

= “”;

if (mServiceBinder != null) {

try { result = (task);

} catch (RemoteException e) {

// 处理异常

}

}

4.2 停止朗读

根据调用者名称,停止当前正在读的消息。非该调用者的消息不会停止。

函数原型

int stopCaller(String caller);

参数说明

caller: 调用者名称,应该跟调用speak时传的一致。

返回值

0 为成功,其他值表示调用失败

调用示例

if (mServiceBinder != null) {

}

try {

ller(“”);

} 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 = ras();

String type = ing("type");

Long id = g("id");

if ((_STOPPED_MANUALLY)) {

// 用户停止了听听中心的播放

...

} else if ((_SPEAK_BEGIN)) {

// 调用者的任务(id)开始播放

...

} else if ((_Speak_Finish){

}

// 调用者的任务(id)播放完毕

... IntentFilter intentFilter = new IntentFilter(caller);

ion(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();

ssName("e",

"fig"); startActivity(intent);

【联系我们】

听听中心论坛:/center/

盛大听听微博:/duanxintingting

听听推他:/

邮箱:tingting@

声音试听:/v_show/id_

(PS:听听搞笑视频,配音即为听听的基础声音。听听中心已支持用户自主调节参数,设置个性声音。

真诚欢迎安卓平台阅读类、资讯类、服务类应用等企业与个人开发者申请合作。多谢各位对盛大听听的关注与支持!/center/

发布评论

评论列表 (0)

  1. 暂无评论