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

其中发现有抽象类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方法返回的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值