其中发现有抽象类SpeechTranscriberListener实现接口ConnectionListener,于是去网上搜了搜这样做的意义,
如果是普通类实现接口,他必须实现接口中所有的方法,而抽象类可以只实现其中一部分方法,而抽象类的子类,仍可以实现接口中有而抽象类中没有的方法。

1.创建SpeechTranscriberDemo并调用process(filePath)

2.在SpeechTranscriberDemo的process方法中调用 transcriber.send

3.SpeechTranscriber的send方法调用了接口Connection的sendBinary方法

4.使用接口Connection中的sendBinary方法
接口Connection的实现类NettyConnection中的sendBinary(byte[] payload) 实现:

这有个问题,这里的channel是怎么赋值的呢?
在SpeechTranscriber的构造函数中,可以看到

调用NlsClient的connect方法生成Connection实例,在connect方法中,可以看到,
发生异常,只会尝试3次。

而this.client在该类的构造方法中,赋值了一个NettyWebSocketClient实例(用的Netty实现webSocket)
在NettyWebSocketClient类中,Channel实例是this.bootstrap的connect方法返回的

阿里语音识别sdk_demo--发送音频数据帧的过程相关推荐

  1. WebRTC 音频发送和接收处理过程

    曾经整理过一个 WebRTC 音频发送和接收处理的关键过程,WebRTC Audio 接收和发送的关键过程 ,不过之前的分析是基于比较老的版本做的.分析所基于的应用程序,依然选择 WebRTC 的示例 ...

  2. WebRTC 视频发送和接收处理过程

    这里看下视频发送和接收处理过程.分析所基于的应用程序,依然选择 WebRTC 的示例应用 peerconnection_client,代码版本 M96. 应用层创建 VideoTrackSource, ...

  3. 网络主机发送IP数据包过程

    主机发送IP数据包过程 当一个拥有公网IP的主机给其它主机发送IP数据包时,首先在IP首部封装自身IP地址(源IP)和目的主机的IP地址(目的IP),实现网络层数据的封装.接下来进行数据链路层封装,数 ...

  4. WINDOWS下对音频的处理过程(转)

    WINDOWS下对音频的处理过程 WINDOWS下对音频的处理,大致可分为两部分,即音频的输入.输出,和ACM压缩处理. 一般情况下在WINDOWS下可以调用诸如sndPlaySound等API(MC ...

  5. linux下使用mail定时发送邮件-阿里企业邮箱发送

    一 背景介绍 文章需求: 编写脚本从数仓里提取数据,并将数据表格通过阿里企业邮箱发送给指定人员,这里主要讲下,使用mail命令发送邮件时遇到的一些坑. 个人公众号:放纵的Coder 有疑问请联系我 二 ...

  6. 移远BC35-G配置网络连接阿里云MQTT发送数据

    移远BC35/BC26/BC28配置网络连接阿里云MQTT发送数据(一)精.防踩坑 硬件准备 接线部分 软件准备 烧录固件 QFlash 4.17烧录 阿里云准备 测试准备(AT指令) 连接阿里云 第 ...

  7. 阿里云手机号发送验证码

    利用阿里云手机号发送验证码(小白也能学的会) 文章目录 利用阿里云手机号发送验证码(小白也能学的会) 一.申请阿里云账号 二.申请AccessKey 三.创建签名管理 四.申请模板管理 五.帮助文档. ...

  8. 阿里云免费证书DV SSL申请过程记录

    HTTPS应用越来越普遍,为了提高安全级别,很多情况都要求使用HTTPS. 以下为个人亲测,阿里云免费证书DV SSL申请过程记录,对于想申请免费证书的小伙伴,看过可能少走一些弯路. 1.购买证书 2 ...

  9. foxmail发送邮件邮件发送失败故障排查过程

    Dns解析出的ip不通导致无法发送邮件 问题:搬入公司新址,使用一运营商的专线网络后(原来使用电信宽带),经常有同事反馈有时无法发送邮件,有时能成功.今天有同事反馈无法发邮件,但他的账号在别人pc使用 ...

  10. node.js实现阿里云配置发送短信验证码

    目录 开始 签名添加 模板添加 测试短信 项目中使用 Core accessKeyId | accessKeySecret params PhoneNumbers SignName TemplateC ...

最新文章

  1. 【洛谷 1991】 无线通讯网
  2. 函数创建对象(2)原型模式
  3. volatile与synchronized 同步原理基础讲解
  4. 在git bush中如何退出vim编辑器
  5. ntr模式_ntr什么意思?
  6. java开发 时间类型的转换
  7. 工程师追查线上问题(或运维)常用的shell命令
  8. 如何在云服务器使用docker快速部署jupyter web服务器(Nginx+docker+jupyter+tensorflow)
  9. 自定义RatingBar
  10. .Net身份验证概述
  11. 阿里巴巴Java开发手册评述
  12. 什么是ctfmon.exe,为什么运行?
  13. 用R软件绘制中国分省市地图
  14. c语言产生不同随机数,怎样用c语言产生不同的随机数
  15. 数模转换器ADC0832使用原理及控制程序
  16. 扩展名是.class.php,php 获取文件扩展名的函数 - strtolower
  17. 冒泡法java程序图片_正宗冒泡法-java语言实现
  18. ViewBag和ViewData的用法和区别
  19. Python 05 包Packet
  20. JavaScript谬论体系

热门文章

  1. Eplan教程——项目检查错误 005013/005014:连接点类型不同
  2. CIS芯片测试到底怎么测?
  3. con 元器件符号_altium designer常用元件电气符号和封装形式
  4. IOS改地区:美国、新西兰等等
  5. Linux的mysql主从配置
  6. 笔记本电脑分屏操作指南
  7. SpringBoot使用自定义https
  8. docker上安装多个mysql_docker:安装mysql多个
  9. 逆向破解必备基础smail基础语法
  10. C++ function