你好,欢迎来到电脑编程技巧与维护杂志社! [免费注册][请登录 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
多路音频实时采样压缩存盘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传送句柄与数据地址指针
  推荐精品文章

·“物链网”的正确打开姿势:区块链如何拯…
·Facebook利用人工智能的六种方式,有些你…
·微软推出Visual Studio Kubernetes工具包…
·Facebook 正在重构 React Native,将重写…
·Facebook 正在重构 React Native,将重写…
·GitLab发布Web IDE 在Web端为你提供集成开…
·5G第一阶段标准发布 中国厂商标准占三成
·微软Windows 10的上下文菜单引入Fluent D…
·蚂蚁金服完成新一轮100亿美元融资 估值15…
·搭搭云发布3.0平台上线暨品牌升级 让SaaS…
·京东推出京点智慧办公方案 一体化服务平台…
·Java 流(Stream)、文件(File)和IO
·Java 异常处理
·Java 基础语法

  联系方式
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