文档章节

alsa记录

何凯峰
 何凯峰
发布于 2015/10/19 22:23
字数 369
阅读 26
收藏 0

周期,period,相当于底层的一个缓冲区窗口的大小,不过其单位不是字节,而是frame_size,双声道就是2.,单声道就是1.

这里不对,应该还和量化位数相关,8位量化对于单声道frame_size就是1,但是16位的话变为2了


设置了周期后,还需要设置底层lib的缓冲区大小,其大小应该是周期*frame_size

设置完了后,需要再去读取一次周期的大小

然后,得到周期大小后,可以设置应用层的读写缓冲区大小,比如可以设置一下子读取的PCM文件大小非周期*frame_size 字节大小

读写出以后,可以直接调用PCM写入函数写入,写入大小为周期代大小,注意不是字节单位,而是frame_size单位

对于libmad解码出的PCM流,从其lib可知,PCM的缓冲区大小为 每个声道1152字节

所以,对应到alsa,16位量化的话

相当于一个周期为1152*2*2(双声道)字节,也就是周期为1152个frame_size

相当于一个周期为1152*1*2(但声道)字节,也就是周期为1152个frame_size

此文有介绍

http://blog.chinaunix.net/uid-10995602-id-2918643.html


© 著作权归作者所有

共有 人打赏支持
何凯峰
粉丝 2
博文 16
码字总数 4528
作品 0
高级程序员
Kindle原码的alsa目录问题?

先前下了Kindle的原码档,Kindlesrc6.2_11185402.tar.gz 发现以下一个目录... /mydroid/external/alsa-lib/alsa-lib/include/alsa/alsa/alsa/alsa/alsa/alsa/alsa/alsa/alsa/alsa/alsa/alsa......

faijan
2012/01/07
212
2
alsa库的移植

我移植alsa库,主要是想在开发板中进行音频测试,所以移植了alsa-lib、alsa-utils(工具),而移植alsa-utilts又需要编码转换工具libiconv。 我在下面的地址获得所需要的压缩包: alsa-lib:...

陈国成
2015/04/19
0
0
ALSA-lib/utils 编译移植 及 问题解决

转载地址:https://blog.csdn.net/chunleigan/article/details/21000127 库和工具版本为: alsa-lib-1.0.27.2 alsa-utils-1.0.27.2 1.首先对压缩文件进行解压; 2.库编译./configure --host=......

kunkliu
04/20
0
0
ubuntu 安装X200声卡驱动

ubuntu 安装X200声卡驱动 标签:x200 ubuntu 声卡驱动 驱动 linux驱动 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://de...

pd2pd
2013/03/18
0
0
解决Intel HD Audio Controller声卡问题

解决方法就是下载最新的ALSA驱动包,手动编译,进行相关的配置, 就能让你的系统声声入耳了。 本文笔记本配置: Dell Vostro 1400 , CPU Intel core 2 Duo T5470,内置Intel "Intel® High Def...

范堡
2009/05/23
837
1

没有更多内容

加载失败,请刷新页面

加载更多

arcgis jsapi接口入门系列(2):图层基础操作

//图层相关demo layerFun: function () { //获取地图的所有图层(不包括的图层类型:底图图层(basemaps)) let layers = this.map.layers; ...

canneljls
16分钟前
1
0
MySQL忘记root密码--不重启mysqd重置root密码

先提个问题:如何不重启mysqld,且没有权限修改用户账号和权限的情况下,如何重新设置root密码?不知道没关系,在此之前我也是不知道如何操作的,先看看下面的几种重置root密码的方法。 1、s...

IT--小哥
18分钟前
1
0
php7不再支持HTTP_RAW_POST_DATA,微信支付$GLOBALS[‘HTTP_RAW_POST_DATA’]获取不到数据,

升级到php7后, 发现旧的web系统有些问题, 查看后才发现原来是php7不再支持HTTP_RAW_POST_DATA 原来系统一些地方, 使用$GLOBALS[‘HTTP_RAW_POST_DATA’]来获取数据, 在php7里无法获取了 ...

15834278076
19分钟前
1
0
Android--拨打电话功能

Intent callIntent = new Intent(); callIntent.setAction(Intent.ACTION_DIAL); callIntent.setData(Uri.parse("tel:" + "4008823823")......

lanyu96
26分钟前
1
0
iOS多种刷新样式、音乐播放器、仿抖音视频、旅游App等源码

iOS精选源码 企业级开源项目,模仿艺龙旅行App 3D立体相册,可以旋转的立方体 横竖屏切换工具,使用陀螺仪检测手机设备方向,锁屏状... Swift版Refresh(可以自定义多种样式)架构方面有所优化...

Android爱开源
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部