目录

语音合成(1077+)

本文档仅介绍接口的定义,接口详细的使用顺序和场景,请参见“语音合成”。

接口声明

在manifest.json文件的 features属性中增加如下配置。

{"name": "service.ml.tts"}

导入模块

在调用接口页面的<script>部分增加如下配置。

import mltts from '@service.ml.tts'

或

var mltts = require("@service.ml.tts ")

使用限制

限制条件

说明

适用终端

手机、平板

适用区域

全球

接口定义

接口

描述

mltts.speak(OBJECT)

开始语音合成。

mltts.stop()

停止语音合成。

mltts.pausePlay()

暂停播放。

mltts.resumePlay()

恢复播放。

[h2]mltts.speak(OBJECT)(1077+)

描述

启动语音合成,在回调中获取合成结果。

参数

参数

类型

是否必填

说明

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。

  • 0:排队模式。如果当前处于正在播放状态,则将任务放在队列中按顺序执行;如果当前处于播放暂停状态,则恢复播放,再将任务放入队列中按顺序执行;如果当前无播放任务,则立即执行。
  • 1:清空模式。立即停止正在进行的语音合成任务以及播放状态,并清空正在排队的语音合成任务,立即执行此次语音合成任务并播放。

sourceText

string

是

需要合成的文本信息,支持最长500个字符的输入(包含500)。

callback(eventName , taskId, …data)

function

是

回调方法,会多次回调,返回2个或多个参数,第一个参数为事件名称(详细请参见“eventName说明”),第二个参数为合成任务id,其它参数视业务而定。

fail(errMsg, errCode)

function

否

回调方法,合成发生错误后调用。

eventName说明

eventName (Callback事件名称)

描述

onWarn

告警处理(不影响业务逻辑)。

  • data[0] mlTtsWarn 告警数据
  • 告警id:mlTtsWarn.warnId;
  • 告警信息:mlTtsWarn.warnMsg

onRangeStart

当前播放分片和文本对应关系处理。

  • data[0] start 音频分片在输入文本中的起始位置。
  • data[1] end 音频分片在输入文本中的结束位置(不包含)。

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);
    },
});

[h2]mltts.stop()(1077+)

描述

停止语音合成。

示例代码

mltts.stop(); //停止

[h2]mltts.pausePlay()(1077+)

描述

暂停播放。

示例代码

mltts.pausePlay(); //暂停播放

[h2]mltts.resumePlay()(1077+)

描述

恢复播放。

示例代码

mltts.resumePlay(); //恢复播放