你好,欢迎来到电脑编程技巧与维护杂志社! [免费注册][请登录 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
多路音频实时采样压缩存盘DLL的实现和使用(五)
 

3.3音频解压缩与回放  

音频解压缩部份也在winio.dll封装,在VB程序中调用,解压部份用了话音压缩解码库G729a.lib中的函数va_g729a_init_decoder()

bool _stdcall talk729decoderinit ()//初始化解码器

{

va_g729a_init_decoder();

return  TRUE;

}

bool _stdcall DecodeAudioData( BYTE* pin,int len,short* pout,int* lenr)

//解压音频数据, 一次解压260字节压缩数据,

{

 va_g729a_decoder(pin, pout,0);

 va_g729a_decoder(pin+10, pout+80,0);

 va_g729a_decoder(pin+20, pout+160,0);

 va_g729a_decoder(pin+30, pout+240,0);

  

 va_g729a_decoder(pin+250, pout+1820,0);

return  TRUE;

}

解压缩函数void va_g729a_decoder(unsigned char *bitstream, short *synth_short, int bfi),每次解压10个字节 数据,变成8016 位 数据,是压缩的反过程。

 

3.4 封装在VB6.0 调用的函数

bool _stdcall talk729decoderinit ()//初始化解压器

bool _stdcall DecodeAudioData( BYTE* pin,int len,short* pout,int* lenr)//解压音频数据, 一次解压260字节压缩数据。

 

bool _stdcall sendhwndtlp(HWND apitexthwnd,unsigned char* apilpmax,HWND apistorekhwnd,short* apilpalldata1,short* apilpalldata2,unsigned char* apilpcodedata)//DLL传送句柄与数据地址指针
  推荐精品文章

·黑客频频攻击区块链安全软肋,如何保证区…
·阿里、商汤在香港设立人工智能实验室 本月…
·云端的竞争:巨头纷纷加码云市场
·中国云体系联盟主办未来科技独角兽与行业…
·Gartner:企业首席信息官们可能没有注意到…
·微软开源Azure云服务AI引擎Infer.NET
·创新指纹读取器出炉:平均准确率最高可达…
·微软投资东南亚出行公司Grab 将进行AI等技…
·Facebook开发AI系统:看美食图片能自动生…
·工信部:促进区块链与实体经济深度融合
·谷歌首度证实了重返中国的Dragonfly计划的…
·Java 11正式发布,告诉你到底应不应该升级…
·Stack Overflow 10 周年了,作为程序员你…
·新手初学Python最常犯的十个错误,其中有…

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备06048724号,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区长春桥路5号6号楼1209室,邮编:100089