HarmonyOS SDK 文档
1. 概述
关于SDK的具体使用方法,请仔细阅读下面的文档。
#2. 集成说明
#2.1 术语介绍
http://www.xfyun.cn/
中注册成为开发者并创建一款应用,您将获得标识您应用的唯一ID。#2.2 导入SDK依赖包
#2.3 权限声明
权限 | 用途 |
---|---|
INTERNET | 允许程序联网的权限 |
MICROPHONE | 允许应用检测网络连接状态 |
"reqPermissions": [
{
"name": "harmonyos.permission.INTERNET",
"reason": "the app need internet"
},
{
"name": "harmonyos.permission.MICROPHONE",
"reason": "the app need microphone",
"usedScene": {
"ability": [
"ccom.iflytek.aiaa.MainAbility"
],
"when": "always"
}
}
]
#2.4 SDK初始化
#2.4.1 初始化SDK
#2.4.2 参数设置
参数Key | 名称 | 是否必传 |
---|---|---|
context | 鸿蒙系统的 Context | Y |
APPID | 应用id | Y |
APIKEY | API Key | Y |
APISERCET | API密钥 | Y |
#2.5 语音听写
#2.5.1 音频文件语音识别
SpeechUtility.getInstance().voiceRecognize()
方法,参考代码如下:
#2.5.2 录音并识别
Ability
类中动态申请"harmonyos.permission.MICROPHONE"
权限,参考代码如下:
#2.5.3 参数设置
IatParam
支持设置的参数见下表:参数名称 | 数据类型 | 名称 | 是否必须 | 说明 |
---|---|---|---|---|
encoding | string | 音频格式 | Y | 目前仅支持“ lame” 、“raw ”,mp3文件请使用“ lame”,pcm输入时使用 “raw ” |
ptt | int | 是否开启标点识别 | N | 0:不开启标点识别, 1:开启标点识别,默认不开启 |
nunum | int | 是否把中文数字转换成阿拉伯数字 | N | 0:关闭, 1:开启 默认关闭 |
dwa | string | pgs | N | 最小长度:0, 最大长度:10 |
evl | int | engine vad link | N | 0:关, 1:开启 |
proc | int | 是否使用后处理 | N | 0:关, 1:开 |
nbest | int | 句子级别多候选个数 | N | 最小值:0, 最大值:5 |
wbest | int | 词级别多候选个数 | N | 最小值:0, 最大值:5 |
pvinfo | int | 在 pgs 结果中展示vad信息 | N | 0:关, 1:开 |
aqc | int | aqc | N | 0:关, 1:开 |
ltc | int | 中英文筛选功能 | N | 最小值:0, 最大值:3 |
vad_enable | bool | 使能VAD | N | true/false |
vad_eos | int | 后端点 | N | 最小值:0, 最大值:60000,当vad_enable为true时有效 |
vrto | int | vad前置端点超时时间 | N | 最小值:0, 最大值:60000 |
#2.5.4 结果解析
JSON字段 | 英文全称 | 类型 | 说明 |
---|---|---|---|
sn | sentence | number | 第几句 |
ls | last sentence | boolean | 是否最后一句 |
bg | begin | number | 保留字段,无需关注 |
ed | end | number | 保留字段,无需关注 |
ws | words | array | 词 |
cw | chinese word | array | 中文分词 |
w | word | string | 单字 |
sc | score | number | 分数 |
{
"sn": 1,
"ls": true,
"bg": 0,
"ed": 0,
"ws": [
{
"bg": 0,
"cw": [
{
"w": "今天",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "的",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "天气",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "怎么样",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "。",
"sc": 0
}
]
}
]
}
#2.6 语音合成
#2.6.1 接口说明
SpeechSynthesizer
接口,示例代码如下
#2.6.2 参数设置
TtsParam
支持设置的参数见下表:参数名称 | 数据类型 | 名称 | 是否必须 | 说明 |
---|---|---|---|---|
encoding | string | 输出音频格式 | N | 目前仅支持“ lame” (mp3文件) |
speed | int | 合成语速 | N | 默认50,取值范围:[0-100] |
volume | int | 合成音量 | N | 默认50,取值范围:[0-100] |
pitch | int | 合成语调 | N | 默认50,取值范围:[0-100] |
sample_rate | int | 采样率 | N | 暂时只支持16000 |
channels | int | 声道数 | N | 可选值1,2.默认值1 |
bit_depth | int | 位深 | N | 8,16默认值16 |
vcn | string | 发音人 | N | 可选值x2_lzy:x2_lzy, x2_chongchong:x2_chongchong, x2_yifei:x2_yifei, x2_xiaopei:x2_xiaopei, x2_xiaoyuan:x2_xiaoyuan |
#2.6.3 结果解析
#3. 接口说明:
#3.1 SpeechUtility类
#3.2 IatParam类
set
方法设置参数,也可以通过put(key,value)
方式设置参数。#3.3 TtsParam类
set
方法设置参数,也可以通过put(key,value)
方式设置参数。#4. 常见问题:
#SDK 都支持哪些 HarmonyOS 版本?
答:要求采用 HarmonyOS 1.0的手机版本。
#如何查看SDK版本?
答:利用 Version.getVersion()可获得 SDK 版本号。
#SDK是否支持同一业务同时开启多路会话?
答:SDK不支持多路会话。
修改于 2023-12-18 07:40:55