JAVA对接腾讯语音实时识别引擎

本文介绍了如何将Java项目与腾讯的语音实时识别引擎进行对接。首先,需要从腾讯云官网下载SDK源码并导入IDE,提取核心jar包到项目中。对于使用Maven的项目,可以参考文档将jar包添加到本地仓库。接着,文中采用异步方式处理识别结果,创建任务类、回调类和调用类,并通过手机号码区分不同的回调通道。
摘要由CSDN通过智能技术生成

一、官网地址

语音识别 SDK 概览 - SDK 文档 - 文档中心 - 腾讯云

需要对接的朋友们,需要咨仔细的看一下文档,主要是一些重要参数,但是小编觉得,腾讯的这个SDK 真的不太友好,demo给的也不是很直接,需要我们自己再次封装,并且SDK不能从中央 仓库直接获取,需要我们自己下载源码,自己搞。。。。

二、对接流程

2.1 先搞jar

我们需要从官网地址下载SDK源码,然后将源码导入我们的IDE中,将out文件夹中的real_asr_sdk_1.6.jar 核心jar包导入到我们自己项目中,如果你的项目是maven方式的话,可以参考小编的文档《maven手动将本地jar包加入到本地maven仓库》。然后还需要引入一下辅助jar,也就是 源码中lib文件夹下面的jar,如果项目中已经有对应的jar,可以直接使用,这些jar可以在中央仓库直接下载。

2.2 代码

我才用的是异步回传结果的方式,因为我的上游是一个ws接口,这个接口不断的接受到语音流,然后我调用腾讯的识别接口,将需要识别的语音流添加到任务中,然后在回调函数中获得识别结果。

 任务类:

package com.jack.chat.asrtencent.service;

import com.tencent.cloud.asr.realtime.sdk.asyn_sender.ReceiverEntrance;
import com.jack.chat.fs.service.FsService;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;

import javax.sound.midi.Soundbank;

public class VoiceTask {

    private ReceiverEntrance receiverEntrance;
    private String taskId;

    public VoiceTask(String taskId) {
        this.taskId = taskId;
    }

    /**
     * @Description:
     * @author: zhenghao
     * @date: 2020/8/13 19:00
     */
    public void init(FsService fsService,String tel) {
        System.out.println("初始化成功");
        // 新建一个服务
        this.receiverEntrance = new ReceiverEntrance(Integer.parseInt(taskId));
        // 启动服务
        this.receiverEntrance.start();
        // 注册N个回调Handler
        this.receiverEntrance.registerReponseHandler(new MyResponseHandler(this.taskId,tel,fsService));
        System.out.println("初始化完成");
    }

    /**
     * 创建和启动服务线程。包括:数据添加线程、发送线程、通知线程。
     */
    public void start(byte[] contentStream) {
        receiverEntrance.add(contentStream);
        // 开始添加数据
//		this.voiceAddingTask = new VoiceAddingTask(this.receiverEntrance,contentStream );
//		this.voiceAddingTask.start();

        // 10秒后停止任务/关闭服务。如需一直使用,则不要调用它。
		/*this.sleepSomeTime(10000);
		this.stop();*/
    }

    public void stop() {
        this.receiverEntrance.stopService();
    }

}

核心类:每一个通道我们都需要new 一个核心类

package com.jack.chat.asrtencent.service;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

g-Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值