《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之72---BREW中的特殊语音处理
来源:互联网 发布:通达oa数据迁移 编辑:程序博客网 时间:2024/05/22 14:55
从BREW2.X开始,针对语音处理提供了IVocoder接口。IVocoder 接口使用默认的声音路径,以捕获和播放声码器帧。由于IVocoder使用的设备也可以用来执行语音呼叫,因此使用IVocoder 的应用程序必须注意并集成 TAPI 通知,以便在启动语音呼叫时适时停止使用声码器。IVocoder 接口实现的基本流程如下:
1)创建IVocoder 接口,从系统层面上来看,这是给IVocoder 分配一段内存空间,内存空间的使用根据应用的需要来设置。
2)配置IVocoder 的用例,包括声码器算法、数据速率、回调参数等。
增强可变速率声码器EVRC(IS-127)可以很好的提高语音质量。实时的数据速率实质上由手机底层的声码器根据信噪比和语音空闲度控制,在程序里无法强制其按某速率进行编码,但BREW 仍要求设置上限和下限速率。
当与调用声码器相关的事件发生时,都要向系统注册一个相关的回调函数在系统执行队列中排队。当系统执行到该回调函数时,系统可以根据回调函数的内容来决定是否继续、中断或者结束声码器的操作,当然决定的过程也是新事件产生的过程,也就意味着又注册一个
回调函数。也就是说,声码器的回调函数是用户自定义但却是系统自动调用的函数。回调函
数的配置好坏,直接关系着整个语音的流程顺畅与否。
3)启动并进行语音的编码。
由接口函数IVOCODER_VocInStart()启动声码器进行编码语音帧;如果成功则调用已经配置的回调函数HavaDataCB。回调函数HavaDataCB 中,用接口函数IVOCODER_VocInRead()一帧帧的采集语音并把数据写入缓存区。然后打包准备发往服务器端。缓冲区大小必须足以支持声码器的最大帧速率,而不仅仅是当前速率限制所用的最大值。
由接口函数IVOCODER_VocOutStop()停止声码器的播放,然后停止语音的处理,并释放IVocoder 接口。
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之72---BREW中的特殊语音处理
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之78——BREW手机中的事件处理
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之10---BREW来龙去脉
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之11---什么是BREW
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之71---BREW中语音与短信的开发
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之45---定制测试
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之2《移动互联网》
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之62---BREW 应用开发中的一些原则
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之74---BREW 中的HTTP 开发
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之76——BREW中的安全性网络编程
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之84——BREW中的应用加载机制
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之89——BREW中的测试工具
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之90——BREW中的调试信息
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之90——BREW中的日志接口功能
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之91——BREW手机中的调试模式
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之92——BREW中的Perl 接口使用
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之93——BREW中的工具接口层
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之94——BREW中的应用单元测试方法
- struts2+hibernate+spring分页实现
- Scilab的基本二维绘图函数
- JavaScript FileSystemObject 对象使用简介
- 2008.9 AppleStone
- MySQL+Hibernate下连接空闲8小时自动断开问题解决方案
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之72---BREW中的特殊语音处理
- 我的杯具的工作经历
- Linux下oracle自动启动脚本
- 修改MyEclipse文件的默认打开方式
- 《东北往事——黑道风云20年》
- POJ 2182 :Lost Cows
- seo有关的关键字密度与网站排名
- 纯CSS简单特效之(指向当前状态)
- UML工具有Umbrello 和 Dia Diagrams