【技术实现步骤摘要】
传输语音数据的方法、装置、系统、设备、及存储介质
本公开实施例涉及计算机应用
,具体涉及一种传输语音数据的方法、装置、系统、设备、及存储介质。
技术介绍
在带有语音交互功能的应用程序App中,出于执行效率和系统性能等因素,语音信号处理算法大都是基于C/C++实现,以Native库的形式集成在App中,经过处理后的音频数据以Callback或UDS的方式传输到Java层进行供App处理。底层Native以Callback调用的方式将语音数据传输至Java层,Java虚拟机会对每一个NativeCallback在Java层创建一个Java线程,由于语音交互实效性的要求,语音信号处理的数据步长很短,输出数据的频率很高,导致NativeCallback频繁调用,Java层的线程频繁创建,Java、C上下文间频繁切换,造成Android系统的垃圾回收机制被频繁触发,容易造成系统卡顿,从而影响运行效率,造成Native层的语音信号处理延时增加。底层Native以UDS的方式将语音信号处理后的数据传输至Java层,需 ...
【技术保护点】
1.一种传输语音数据的方法,其特征在于,包括:/n控制Native层将实时获取的语音数据通过Callback的方式传输至内部的中间件的缓冲区;/n控制Java层App按照预定频率从所述中间件的缓冲区中读取所述语音数据进行处理。/n
【技术特征摘要】
1.一种传输语音数据的方法,其特征在于,包括:
控制Native层将实时获取的语音数据通过Callback的方式传输至内部的中间件的缓冲区;
控制Java层App按照预定频率从所述中间件的缓冲区中读取所述语音数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述缓冲区为环形缓冲区,所述环形缓冲区具有状态信息,所述状态信息包括缓冲区已满状态和缓冲区未满状态。
3.根据权利要求2所述的方法,其特征在于,若所述环形缓冲区的状态信息为缓冲区已满状态,则在控制Native层将实时获取的语音数据通过Callback的方式传输至内部的中间件的缓冲区时,用所述语音数据覆盖所述缓冲区的已有数据,并将所述状态信息设置为缓冲区未满状态。
4.根据权利要求3所述的方法,其特征在于,若所述环形缓冲区的状态信息为缓冲区已满状态,所述方法还包括:
在控制Java层App按照预定频率从所述中间件的缓冲区中读取所述语音数据进行处理时,控制所述中间件通知所述Java层App,所述中间件的缓冲区中已有数据已被覆盖。
5.根据权利要求1所述的方法,其特征在于,在控制Native层将实时获取的语音数据通过Callback的方式传输至内部的中间件的缓冲区之前还包括:
控制Native层对语音采集设备实时采集的语音...
【专利技术属性】
技术研发人员:袁伟杰,
申请(专利权)人:苏州思必驰信息科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。