Releases: pili-engineering/QNDroidRTCPluginAISDK
Releases · pili-engineering/QNDroidRTCPluginAISDK
升级语音识别sdk
修改项1: 语音识别初始化
class App : Application() {
override fun onCreate() {
//设置语音识配置
QNRtcAISdkManager.setASRParams(ASRConfig().apply {
asrAppID = xxx
asrAppKey = "xxx"
asrCUid = "xxx"
})
}
}
语音识配置
class ASRConfig {
int asrAppID = 0
String asrAppKey = ""
String asrCUid = "" //随便填不影响使用。机器的mac或者其它唯一id,页面上计算UV用
int devPid = 15372 //识别模型,比如普通话还是英语,是否要加标点等
}
修改项2: 语音识别结果格式和调用参数
//实时语音转文字参数
class QNAudioToTextParam {
String voiceID = "" //流ID 用于排查日志
}
// 语音识别结果
// 当前片段的结果文字数据
class QNAudioToText {
String type //MID_TEXT:一句话以及临时识别结果 ;FIN_TEXT:一句话的最终识别结果或者报错, 是否报错由err_no判断
String result //音频的识别结果
int start_time //一句话的开始时间,临时识别结果MID_TEXT 无此字段
int end_time //一句话的结束时间,临时识别结果MID_TEXT 无此字段
int err_no //表示正确, 其它错误码见文末
String err_msg //err_no!=0时,具体的报错解释
int log_id //日志id,用这个id可以百度服务端定位请求,排查问题
String sn //用这个sn可以百度服务端定位请求,排查问题。ws URI里的参数及识别句子的组合
}
ocr 添加景象适配
QNOCRDetector.run(localVideoTrack, OCRDetectParam().apply {
// 当前图片是不是镜像
// 在没有调整的情况下 通常前置摄像头是镜像图片,后置摄像头不是
isMirror =true
}, QNOCRDetector.QNOCRDetectorCallback {
tvText.text = Json.encode(it)
})
添加权威人脸对比,ocr识别
跟新内容 :1添加权威人脸对比,2ocr识别
权威人脸对比
public class QNAuthoritativeFaceComparer {
//开始一次权威人脸
static void run(QNTrack videoTrack, QNAuthoritativeFaceParam param, QNAuthoritativeFaceComparerCallback callback);
}
//权威人脸对比参数
class QNAuthoritativeFaceParam {
String realName;//真实名字
String idCard; //身份证号码
}
//权威人脸对比结果
class QNAuthoritativeFace {
String sessionID;
int errorCode;
String errorMsg;
double similarity; //相似度
}
//权威人脸结果回调
interface QNAuthoritativeFaceComparerCallback {
void onResult(QNAuthoritativeFace authoritativeFace);
}
活体动作识别加权威人脸对比
class QNAuthorityActionFaceComparer{
//开一次动作活体加权威人脸对比
//videoTrack - 视频轨道;faceActionParam - 活体检测参数;authoritativeFaceParam - 权威人脸对比参数;
static QNAuthorityActionFaceComparer start(QNTrack videoTrack, QNFaceActionLiveParams faceActionParam,QNAuthoritativeFaceParam authoritativeFaceParam) // 开始活体动作检测
void commit(QNAuthorityActionFaceComparerCallback callback) // 动作结束提交获取识别结果
void cancel() // 取消
}
//结果回调
interface QNAuthorityActionFaceComparerCallback{
void onResult(QNFaceActionLive faceActLive,QNAuthoritativeFace authoritativeFace);
}
orc
class QNOCRDetector {
//开始一次 ocr 识别
static void run(QNTrack videoTrack, QNOCRDetectorCallback callback)
}
interface QNOCRDetectorCallback {
onResult(OCRDetect ocrDetect);
}
//orc结果
public class OCRDetect {
int code;
String message;
List<Data> data;
static class Data {
int line; //行数
List<List<Integer>> bbox; //坐标
String text; //文本
double score; //分数
}
}
语音识别stop空指针
解决语音识别stop空指针
升级1.0.9 增加稳定性
解决本地录制时身份证识别崩溃
1语音识别可添加热词,2适配身份证前置摄像头镜像
// 语音识别参数
class QNAudioToTextParam {
++++ String hotWords // 提供热词,格式为: hot_words=热词1,因子1;热词2,因子2,每个热词由热词本身和方法因子以英文逗号隔开,不同热词通过;隔开,最多100个热词,每个热词40字节以内。由于潜在的http服务对url大小的限制,以实际支持的热词个数为准 因子范围[-10,10], 正数代表权重权重越高,权重越高越容易识别成这个词,建议设置1 ,负数代表不想识别
}
demo
//开始识别
mQNAudioToTextAnalyzer = QNAudioToTextAnalyzer.start(
localAudioTrack,
QNAudioToTextParam().apply {
hotWords="测试,1;确认,1" //热词
},
object :
QNAudioToTextAnalyzer.QNAudioToTextCallback {})
// 身份证识别请求参数
class QNIDCardDetectParam {
++ Boolean isMirror = true //当前图片是不是镜像,在没有调整的情况下 通常前置摄像头是镜像图片,后置摄像头不是,默认镜像
}
身份证识别添加切图返回
// 身份证识别结果
class QNIDCardDetect {
class ImageResultDTO {
// 框坐标,格式为 [[x0, y0], [x1, y1], [x2, y2], [x3, y3]]
java.util.List<java.util.List<Integer>> idCardBox // ??? 为什么用数组的数组
+++ String idcard ; //身份证区域图片,使用Base64 编码后的字符串, 是否返回由请求参数ret_image 决定
+++ String portrait ;// 身份证人像照片,使用Base64 编码后的字符串, 是否返回由请求参数ret_portrait 决定
}