社区
驱动程序开发区
帖子详情
你好,请问为什么我从Android音频驱动read函数里面获取到的数据和Android应用层获取的pcm数据不一样呢?
需客儿
2017-02-24 10:45:02
正常情况下通过iis接口出来的数据应该就是PCM的数据,但是我在Android上层通过audiorecoder获取到的数据和驱动read函数DMA获取的数据不一样,驱动里面我是通过把数据写到文件里面保存的。
...全文
493
2
打赏
收藏
你好,请问为什么我从Android音频驱动read函数里面获取到的数据和Android应用层获取的pcm数据不一样呢?
正常情况下通过iis接口出来的数据应该就是PCM的数据,但是我在Android上层通过audiorecoder获取到的数据和驱动read函数DMA获取的数据不一样,驱动里面我是通过把数据写到文件里面保存的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我用双手-成就你的梦想
2017-02-25
打赏
举报
回复
一般是用pcm_read读数据的
需客儿
2017-02-25
打赏
举报
回复
那为什么会不一样呢?
华为编程开发规范与案例
软件编程规范培训实例与练习 软件编程规范培训实例与练习 问题分类 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的
函数
和环境、其他
函数
、全局/局部变量或
数据
变量之间的
数据
/控制传输不匹配的问题,在系统中起重要作用,将导致模块间配合失效等严重问题; 维护类问题(C类)-指设计、编码中出现的对软件系统的维护方便程度造成影响的问题,在系统中不起关键作用,但对系统后期维护造成不便或导致维护费用上升; 可测试性问题(D类)-指设计、编码中因考虑不周而导致后期系统可测试性差的问题。 处罚办法 问题发生率: P=D/S D=DA+0.5DB+0.25DC 其中: P -问题发生率 D -1个季度内错误总数 DA -1个季度内A类错误总数 DB -1个季度内B类错误总数 DC -1个季度内C类错误总数 S -1个季度内收到问题报告单总数 1)当D≥3时,如果P≥3%,将进行警告处理,并予以公告; 2)当D≥5时,如果P≥5%,将进行罚款处理,并予以公告。 目 录 一、逻辑类代码问题 第5页 1、变量/指针在使用前就必须初始化 第5页 【案例1.1.1】 第5页 2、防止指针/数组操作越界 第5页 【案例1.2.1】 第5页 【案例1.2.2】 第6页 【案例1.2.3】 第7页 【案例1.2.4】 第8页 3、避免指针的非法引用 第9页 【案例1.3.1】 第9页 4、变量类型定义错误 第10页 【案例1.4.1】 第10页 5、正确使用逻辑与&&、屏蔽&操作符 第17页 【案例1.5.1】 第17页 6、注意
数据
类型的匹配 第18页 【案例1.6.1】 第18页 【案例1.6.2】 第18页 7、用于控制条件转移的表达式及取值范围是否书写正确 第20页 【案例1.7.1】 第20页 【案例1.7.2】 第21页 【案例1.7.3】 第22页 8、条件分支处理是否有遗漏 第24页 【案例1.8.1】 第24页 9、引用已释放的资源 第26页 【案例1.9.1】 第26页 10、分配资源是否已正确释放 第28页 【案例1.10.1】 第28页 【案例1.10.2】 第29页 【案例1.10.3】 第30页 【案例1.10.4】 第32页 【案例1.10.5】 第33页 【案例1.10.6】 第35页 【案例1.10.7】 第38页 11、防止资源的重复释放 第39页 【案例1.11.1】 第39页 12、公共资源的互斥性和竞用性 第40页 【案例1.12.1】 第40页 【案例1.12.2】 第40页 二、接口类代码问题 第43页 1、对
函数
参数进行有效性检查 第43页 【案例2.1.1】 第43页 【案例2.1.2】 第43页 【案例2.1.3】 第44页 【案例2.1.4】 第46页 【案例2.1.5】 第47页 【案例2.1.6】 第48页 2、注意多出口
函数
的处理 第49页 【案例2.2.1】 第49页 三、维护类代码问题 第51页 1、 统一枚举类型的使用 第51页 【案例3.1.1】 第51页 2、 注释量至少占代码总量的20% 第51页 【案例3.2.1】对XXX产品BAM某版本部分代码注释量的统计 第51页 四、产品兼容性问题 第52页 1、系统配置、命令方式 第52页 【案例4.1.1】 第52页 【案例4.1.2】 第53页 2、设备对接 第54页 【案例4.2.1】 第54页 3、其他 第55页 【案例4.3.1】 第55页 五、版本控制问题 第58页 1、新老代码中同一全局变量不一致 第58页 【案例5.1.1】 第58页 六、可测试性代码问题 第59页 1、调试信息/打印信息的正确性 第59页 【案例6.1.1】 第59页 一、逻辑类代码问题 1、变量/指针在使用前就必须初始化 【案例1.1.1】 C语言中最大的特色就是指针。指针的使用具有很强的技巧性和灵活性,但同时也带来了很大的危险性。在XXX的代码中有如下一端对指针的灵活使用: ... ... _UC *puc_card_config_tab; ... ... Get_Config_Table(
【
Android
高性能
音频
】AAudio
音频
流
PCM
采样 的 采样 缓冲 播放 的 连续机制 (
数据
回调机制 |
数据
回调
函数
指针 | 实现
数据
回调
函数
| 设置
数据
回调
函数
)
I . AAudio
音频
流 采样 缓冲 播放 的连续机制 II . AAudio
音频
流
数据
回调
函数
函数
指针类型定义 III . AAudio
音频
流
数据
回调
函数
实现 IV . AAudio
音频
流
数据
回调
函数
设置
Android
音视频开发基础(二) : 在
Android
平台使用AudioRecord和AudioTrack完成
音频
PCM
数据
的采集和播放,并实现读写
音频
wav文件
前言 在
Android
音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了《
Android
音视频从入门到提高 - 任务列表》。本文是
Android
音视频任务列表的第二篇, 对应的要学习的内容是:在
Android
平台使用AudioRecord和AudioTrack完成
音频
PCM
数据
的采集和播放,并实现读写
音频
wav文件 一、目录 (一)AudioRecord完成
音频
PCM
数据
的采集 1. 准备工作 1.1 AudioRecord API详解 AudioRecord
Linux
音频
驱动
(五) ALSA
音频
驱动
之
PCM
逻辑设备
目录1. 前言2.
PCM
逻辑设备2.1. 创建
PCM
逻辑设备:2.2.
PCM
逻辑设备文件操作
函数
集:snd_
pcm
_f_ops[]2.3. Open
PCM
逻辑设备2.4. Write/
Read
PCM
逻辑设备2.5. Close
PCM
逻辑设备3. 结束语 1. 前言 前面几章分析了ASoC
音频
驱动
中Codec、Platform、Machine
驱动
的组成部分及其注册过程,这三者都是物理设备相关的,大家应该对
音频
物理链路有了一定的认知。接着分析
音频
驱动
的中间层,由于这些并不是真正的物理设备,故我们称之
android
framework层dump
pcm
数据
的方法
dump
pcm
数据
是
音频
工程师经常用的的debug手段,这里总结下在framework层dump
数据
的位置 dump
数据
的方法 FILE *fp1 = fopen("/data/audio_spk.
pcm
", "a+"); if (fp1) { int flen = fwrite((char *)buffer, 1, bytes, fp1); fclose(fp1); } 1.AudioTrack的write
函数
应用层
如果是直接write的形式...
驱动程序开发区
1,319
社区成员
2,173
社区内容
发帖
与我相关
我的任务
驱动程序开发区
主要是开发驱动技术
复制链接
扫一扫
分享
社区描述
主要是开发驱动技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章