在调用接口页面的<script>部分增加如下配置。
import mltts from '@service.ml.tts'
或
var mltts = require("@service.ml.tts ") 描述
启动语音合成,在回调中获取合成结果。
参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 创建快应用后获取的APP ID。 |
| apiKey | string | 是 | 创建快应用后获取API密钥(凭据)。 请妥善保管apiKey、设置apiKey,详细请参见“云端鉴权信息使用须知”。 |
| language | string | 否 | 设置文本语种,详细请参见“支持的列表”。 |
| speaker | string | 否 | 设置发音人,详细请参见“支持的列表”。 |
| speed | number | 否 | 播放速度,范围为[0,5]。 1.0表示正常语速,小于1.0表示降低语速,0.5表示正常语速的一半;大于1.0表示加快语速,比如1.5表示是正常语速的1.5倍。 不设置则默认为1.0正常语速。 |
| volume | number | 否 | 播放声音,范围[0,2]。 1.0表示正常音量,小于1.0表示降低音量,0.5表示正常音量的一半;大于1.0表示提高音量,比如1.5表示是正常音量的1.5倍。 不设置则默认为1.0正常音量。 |
| queueMode | number | 否 | 任务队列模式,默认为0。
|
| sourceText | string | 是 | 需要合成的文本信息,支持最长500个字符的输入(包含500)。 |
| callback(eventName , taskId, …data) | function | 是 | 回调方法,会多次回调,返回2个或多个参数,第一个参数为事件名称(详细请参见“eventName说明”),第二个参数为合成任务id,其它参数视业务而定。 |
| fail(errMsg, errCode) | function | 否 | 回调方法,合成发生错误后调用。 |
| eventName (Callback事件名称) | 描述 |
|---|---|
| onWarn | 告警处理(不影响业务逻辑)。
|
| onRangeStart | 当前播放分片和文本对应关系处理。
|
| onPlayStart | 播放开始回调(使用内部播放器播放时,需要关注的回调事件)。 |
| onPlayResume | 播放恢复回调(使用内部播放器播放时,需要关注的回调事件)。 |
| onPlayPause | 播放暂停回调(使用内部播放器播放时,需要关注的回调事件)。 |
| onPlayStop | 播放停止回调(使用内部播放器播放时,需要关注的回调事件)。 |
| onSynthesisStart | 语音合成开始的回调(不使用内部播放器播放,只关注合成音频数据时,需要关注的回调事件)。 |
| onSynthesisEnd | 语音合成结束的回调(不使用内部播放器播放,只关注合成音频数据时,需要关注的回调事件)。 |
callback返回值
| 参数 | 类型 | 说明 |
|---|---|---|
| eventName | String | 回调事件名称。 |
| taskId | String | 语音合成任务id。 |
| …data | 0或多个参数的集合 | 0或多个参数的集合,视eventName而定。 |
fail返回错误码
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| 11305 | 音频播放错误 | - |
| 11306 | 鉴权失败 | 使用正确的鉴权参数。 |
| 11301 | 非法参数 | 使用符合规则的参数。 |
| 11303 | 余额不足 | 查看账户。 |
| 11398 | 内部错误 | - |
| 11302 | 网络连接异常 | 查看网络连接。 |
| 11304 | 语音合成失败 | - |
| 11399 | 未知错误 | - |
返回值
识别过程中会多次回调,返回值视第一个参数eventName值而定。
示例代码
mltts.speak({ //启动语音合成
appId: “开发者申请的appId”, //String 参数,必填
apiKey: “开发者申请的apiKey”, //String 参数,必填,鉴权,设置apiKey
language: “”, //String 参数,非必填,设置语言,可不传,默认中文,zh-Hans/en-US/fr-FR/es-ES。
speaker: “”, //String 参数,非必填,设置声音,可不传,默认中文女声:Female-zh/Female-en/Male-zh/Male-en/fr-FR-st-1/es-ES-st-1。
speed: 1, //Number 参数,非必填,播放速度,默认1
volume: 1, //Number 参数,非必填,播放声音,默认1
queueMode: 0, //Number 参数,非必填,队列模式,默认0, 0-排队模式 1-清空模式
sourceText: "这是一个测试", //String 参数,表示需要合成的文本信息,支持最长500个字符的输入(包含500)。
callback: (eventName, taskId, ...data) => { //回调方法,返回1个或多个参数,第一个参数为事件名称(eventName),其它参数视业务而定。
console.log(eventName, taskId, ...data);
switch (eventName) {
case 'onWarn': //告警处理(不影响业务逻辑)。
let mlTtsWarn = data[0]; //json格式,告警id:mlTtsWarn.warnId;告警信息:mlTtsWarn.warnMsg
break;
case 'onRangeStart': //当前播放分片和文本对应关系处理。
let start = data[0]; //音频分片在输入文本中的起始位置
let end = data[1]; //音频分片在输入文本中的结束位置(不包含)
break;
case ' onPlayStart': //播放开始回调
break;
case ' onPlayResume': //播放恢复回调
break;
case 'onPlayPause': //播放暂停回调
break;
case 'onPlayStop': //播放停止回调
break;
case 'onSynthesisStart': //语音合成开始的回调。
break;
case 'onSynthesisEnd': //语音合成结束的回调。
break;
}
},
fail: (errMsg, errCode) => { //失败回调,识别发生错误后调用该接口
console.log("error:", errMsg);
},
});