资源简介
这是科大讯飞的智能语音唤醒的sdk,同学们想了解科大讯飞如何实现语音唤醒的话,可以下载此源码进行了解了解。了解整个语音唤醒的框架及其流程。
开发语言是Java,下载者需谨慎,不懂Java开发的不要下载哦
代码片段和文件信息
package com.iflytek.msp.lfasr;
import java.util.HashMap;
import org.apache.log4j.PropertyConfigurator;
import com.alibaba.fastjson.JSON;
import com.iflytek.msp.cpdb.lfasr.client.LfasrClientImp;
import com.iflytek.msp.cpdb.lfasr.exception.LfasrException;
import com.iflytek.msp.cpdb.lfasr.model.LfasrType;
import com.iflytek.msp.cpdb.lfasr.model.Message;
import com.iflytek.msp.cpdb.lfasr.model.ProgressStatus;
public class TestLfasr
{
// 原始音频存放地址
private static final String local_file = “...“;
/*
* 转写类型选择:标准版和电话版分别为:
* LfasrType.LFASR_STANDARD_RECORDED_AUDIO 和 LfasrType.LFASR_TELEPHONY_RECORDED_AUDIO
* */
private static final LfasrType type = LfasrType.LFASR_STANDARD_RECORDED_AUDIO;
// 等待时长(秒)
private static int sleepSecond = 20;
public static void main(String[] args) {
// 加载配置文件
PropertyConfigurator.configure(“log4j.properties“);
// 初始化LFASR实例
LfasrClientImp lc = null;
try {
lc = LfasrClientImp.initLfasrClient();
} catch (LfasrException e) {
// 初始化异常,解析异常描述信息
Message initMsg = JSON.parseobject(e.getMessage() Message.class);
System.out.println(“ecode=“ + initMsg.getErr_no());
System.out.println(“failed=“ + initMsg.getFailed());
}
// 获取上传任务ID
String task_id = ““;
HashMap params = new HashMap<>();
params.put(“has_participle“ “true“);
try {
// 上传音频文件
Message uploadMsg = lc.lfasrUpload(local_file type params);
// 判断返回值
int ok = uploadMsg.getOk();
if (ok == 0) {
// 创建任务成功
task_id = uploadMsg.getData();
System.out.println(“task_id=“ + task_id);
} else {
// 创建任务失败-服务端异常
System.out.println(“ecode=“ + uploadMsg.getErr_no());
System.out.println(“failed=“ + uploadMsg.getFailed());
}
} catch (LfasrException e) {
// 上传异常,解析异常描述信息
Message uploadMsg = JSON.parseobject(e.getMessage() Message.class);
System.out.println(“ecode=“ + uploadMsg.getErr_no());
System.out.println(“failed=“ + uploadMsg.getFailed());
}
// 循环等待音频处理结果
while (true) {
try {
// 睡眠1min。另外一个方案是让用户尝试多次获取,第一次假设等1分钟,获取成功后break;失败的话增加到2分钟再获取,获取成功后break;再失败的话加到4分钟;8分钟;……
Thread.sleep(sleepSecond * 1000);
System.out.println(“waiting ...“);
} catch (InterruptedException e) {
}
try {
// 获取处理进度
Message progressMsg = lc.lfasrGetProgress(task_id);
// 如果返回状态不等于0,则任务失败
if (progressMsg.getOk() != 0) {
System.out.println(“task was fail. task_id:“ + task_id);
System.out.println(“ecode=“ + progressMsg.getErr_no());
System.out.println(“failed=“ + progressMsg.getFailed());
// 服务端处理异常-服务端内部有重试机制(不排查极端无法恢复的任务)
// 客户端可根据实际情况选择:
// 1. 客户端循环重试获取进度
// 2. 退出程序,反馈问题
continue;
} else {
ProgressStatus progressStatus = JSON.parseobject(progressMsg.getData() ProgressStatus.class);
if (progressStatus.getStatus() == 9) {
// 处理完成
System.out.println(“task was co
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 68 2017-06-06 10:59 JavaSDK开发文档.txt
文件 344 2017-06-05 11:06 lfasr-sdk-demo\.classpath
文件 390 2017-05-23 20:14 lfasr-sdk-demo\.project
文件 598 2017-05-23 20:14 lfasr-sdk-demo\.settings\org.eclipse.jdt.core.prefs
文件 4153 2017-06-28 17:17 lfasr-sdk-demo\bin\com\iflytek\msp\lfasr\TestLfasr.class
文件 354 2017-06-20 16:24 lfasr-sdk-demo\bin\config.properties
文件 683 2017-05-23 20:35 lfasr-sdk-demo\bin\log4j.properties
文件 3709986 2017-07-05 16:42 lfasr-sdk-demo\lib\lfasr-sdk-client-2.0.0.1005-jar-with-dependencies.jar
文件 6985 2017-06-14 15:57 lfasr-sdk-demo\logs\lfasr-sdk-client.log
文件 354 2017-06-20 16:24 lfasr-sdk-demo\source\config.properties
文件 683 2017-05-23 20:35 lfasr-sdk-demo\source\log4j.properties
文件 4529 2017-06-14 16:29 lfasr-sdk-demo\src\com\iflytek\msp\lfasr\TestLfasr.java
文件 3709986 2017-07-05 16:42 libs\lfasr-sdk-client-2.0.0.1005-jar-with-dependencies.jar
文件 240 2017-05-11 16:40 .project
目录 0 2017-06-28 17:17 lfasr-sdk-demo\bin\com\iflytek\msp\lfasr
目录 0 2017-05-25 15:33 lfasr-sdk-demo\src\com\iflytek\msp\lfasr
目录 0 2017-06-28 17:17 lfasr-sdk-demo\bin\com\iflytek\msp
目录 0 2017-05-25 15:33 lfasr-sdk-demo\src\com\iflytek\msp
目录 0 2017-06-28 17:17 lfasr-sdk-demo\bin\com\iflytek
目录 0 2017-05-25 15:33 lfasr-sdk-demo\src\com\iflytek
目录 0 2017-06-28 17:17 lfasr-sdk-demo\bin\com
目录 0 2017-05-25 15:33 lfasr-sdk-demo\src\com
目录 0 2017-05-25 15:33 lfasr-sdk-demo\.settings
目录 0 2017-06-28 17:17 lfasr-sdk-demo\bin
目录 0 2017-07-07 12:24 lfasr-sdk-demo\lib
目录 0 2017-05-25 15:33 lfasr-sdk-demo\logs
目录 0 2017-05-25 15:33 lfasr-sdk-demo\source
目录 0 2017-05-25 15:33 lfasr-sdk-demo\src
目录 0 2017-05-25 15:33 lfasr-sdk-demo
目录 0 2017-07-07 12:17 libs
............此处省略3个文件信息
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
- java8学习教程之lambda表达式的使用方法
评论
共有 条评论