hi3518e音频G711调试笔记
2015-09-16 17:55
691 查看
在海思3518e平台上调试G711编解码时,发现设备端编码和解码都是正常的,但是将海思的G711流推送到PC端解码播放时,杂音很严重。
G711A和G711U两种编码测试都有杂音。
将录制的音频文件用cool edit打开发现波形上有规则竖条纹。
当我从网络上下载了一个标准的G711A音频文件拷贝到设备上,用海思平台平台的解码库进行解码播放,发现报错了。猜想:海思平台编码的G711文件可能做了特殊处理。
去论坛查了一下,有人说海思的G711数据加了四个字节的头。
此时,我将海思API出来的每帧音频流长度打印出来,324个字节长度(编码器设置帧长是我配置的320),多了四个字节,我再把每帧音频的前四个字节打印出来,发现每帧的前四个字节值都是一样的。和论坛说法吻合。
所以我将海思API编码出来的音频流偏移四个字节再推送出去,网页上播放的声音正常了。这时,我再将偏移的数据写文件,用cool edit 打开,竖条纹没了,
至此,问题解决!
G711A和G711U两种编码测试都有杂音。
将录制的音频文件用cool edit打开发现波形上有规则竖条纹。
当我从网络上下载了一个标准的G711A音频文件拷贝到设备上,用海思平台平台的解码库进行解码播放,发现报错了。猜想:海思平台编码的G711文件可能做了特殊处理。
去论坛查了一下,有人说海思的G711数据加了四个字节的头。
此时,我将海思API出来的每帧音频流长度打印出来,324个字节长度(编码器设置帧长是我配置的320),多了四个字节,我再把每帧音频的前四个字节打印出来,发现每帧的前四个字节值都是一样的。和论坛说法吻合。
所以我将海思API编码出来的音频流偏移四个字节再推送出去,网页上播放的声音正常了。这时,我再将偏移的数据写文件,用cool edit 打开,竖条纹没了,
至此,问题解决!
相关文章推荐
- Java初体验
- 游戏开发团队及工作流程
- 「动态规划」Palindrome Partitioning II
- java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger
- OpenStack路: OpenStack建筑设计指南 - 概要(摘录和翻译)
- 用dispatch组让下一个操作在当前操作完成后再执行,即同步操作
- 素数判定
- wampserver,eclipse,PHPeclipse搭建php开发环境
- angularJs编写多指令的情况
- 迭代,经常见到这个词,竟然不知其意。
- 位移枚举
- SpringMVC 使用 AOP注解
- 错误代码: 1007 Can't create database 'test'; database exists
- linux下使用AES cbc加解密文件源码,支持所有类型文件
- 最靠谱的禁止ViewPager滑动方法
- GET和POST
- 字节对齐
- Oracle 如何查询被锁定表及如何解锁释放session
- CodeForces-313A Ilya and Bank Account
- java SE复习笔记1