教程 框架 组件 接口 其他

语音合成 1080+

接口声明

{ "name": "service.texttoaudio" }

导入模块

import texttoaudio from '@service.texttoaudio'const texttoaudio = require('@service.texttoaudio')

接口定义

方法

texttoaudio.speak(OBJECT)

语音播报,输入需要播报的文本内容,实时播报

参数:
参数名类型必填说明
langString文本语言 zh_CN(中国大陆)en_US(英文)
contentString需要播报的文本内容,限制长度小于 4000 个字符
rateNumber设置语速,不设置默认为正常值(1),取值大于 0,不同语音引擎取值区间不同,超过将取区间边界值。(0.5 为半速、2 为二倍速)
pitchNumber设置音调,不设置默认为正常值(1),取值大于 0,不同语音引擎取值区间不同,超过将取区间边界值。(值越大音调越高)
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
utteranceIdString请求成功,本次操作唯一标识
fail 返回错误代码:
错误码说明
202参数错误
1001系统版本过低,不支持此功能(Android L 或以上才支持)
1002初始化失败
1003输入的文本长度超限
1004语言不支持
示例:
texttoaudio.speak({
  lang: 'zh_CN',
  content: '这是语音播报效果',
  pitch: 1,
  rate: 1,
  success: function(data) {
    console.log(`handling success, utteranceId = ${data.utteranceId}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

texttoaudio.textToAudioFile(OBJECT)

语音合成,输入需要合成的文本内容,生成本地音频文件

参数:
参数名类型必填说明
langString文本语言 zh_CN(中国大陆)en_US(英文)
contentString需要合成的文本内容,限制长度小于 4000 个字符
rateNumber设置语速,不设置默认为正常值(1),取值大于 0,不同语音引擎取值区间不同,超过将取区间边界值。(0.5 为半速、2 为二倍速)
pitchNumber设置音调,不设置默认为正常值(1),取值大于 0,不同语音引擎取值区间不同,超过将取区间边界值。(值越大音调越高)
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
filePathString生成文件路径
utteranceIdString请求成功,本次操作唯一标识
fail 返回错误代码:
错误码说明
202参数错误
1001系统版本过低,不支持此功能(Android L 或以上才支持)
1002初始化失败
1003输入的文本长度超限
1004语言不支持
1005io 异常
示例:
texttoaudio.textToAudioFile({
  lang: 'zh_CN',
  content: '这是语音播报效果',
  pitch: 1,
  rate: 1,
  success: function(data) {
    console.log(
      `handling success,filePath = ${data.filePath}, utteranceId = ${
        data.utteranceId
      }`
    )
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

texttoaudio.isLanguageAvailable(OBJECT)

是否支持语言类型

参数:
参数名类型必填说明
langString文本语言 zh_CN(中国大陆)en_US(英文)
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
isAvailableBooleantrue:支持,false:不支持
fail 返回错误代码:
错误码说明
200内部错误
202参数错误
示例:
texttoaudio.isLanguageAvailable({
  lang: 'zh_CN',
  success: function(data) {
    console.log(`isAvailable: ${data.isAvailable}`)
  }
})

texttoaudio.onttsstatechange = function(data)

注册状态监听,监听每个操作的状态,通过 id 区分(语音播报 id 的前缀为"speak",语音合成 id 的前缀为"speakAudio")

data 返回值:
属性类型说明
utteranceIdString操作对应的 id 标识
stateString本次操作的状态,可能的取值有四种: onStart、onDone、onStop、onError
示例:
texttoaudio.onttsstatechange = function(data) {
  console.log(`utteranceId: ${data.utteranceId}, state: ${data.state}`)
}

texttoaudio.stop()

停止,无论当前处于语音播报还是保存到文件的过程

参数:无
返回值:
返回值说明
0请求成功
-1请求失败
示例:
texttoaudio.stop()

texttoaudio.isSpeaking()

判断语音是否正在播放或者合成

参数:无
返回值:
返回值说明
true正在播报或合成过程中
false不在播报或合成过程中
示例:
console.log(`isSpeaking: ${texttoaudio.isSpeaking()}`)

后台运行限制

无限制。 后台运行详细用法参见后台运行 脚本

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容