荔枝派Zero(全志V3S)开启alsa,测试codec
文章目录
- 前言
- 一、ALSA 简介
- 二、ALSA 框架
- 三、buildroot 配置
- 四、烧录到 SD 卡
- 五、测试
- 1、查看 CODEC 设备
- 2、alsa-utils 使用
- ①、查看设备
- ②、调节音量
- ③、查看控制器
- ④、录音测试
- ⑤、播放测试
前言
默认 dts 中使能了 codec
需要使用的话,在 buildroot 中勾选 alsa-utils 相关命令即可
一、ALSA 简介
ALSA 是 Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。在2.6系列内核中,ALSA已经成为默认的声音子系统,用来替换2.4系列内核中的OSS(Open Sound System,开放声音系统)。
ALSA的官方网址为:https://www.alsa-project.org/wiki/Main_Page
但是ALSA的缺点也是十分明显的:1、Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Linux中有分别针对4个平台的驱动代码。2、音频事件没有标准的方法来通知用户,例如耳机、麦克风的插拔和检测,这些事件在移动设备中是非常普通的,而且通常都需要特定于机器的代码进行重新对音频路劲进行配置。3、当进行播放或录音时,驱动会让整个codec处于上电状态,这对于PC没问题,但对于移动设备来说,这意味着浪费大量的电量。同时也不支持通过改变过取样频率和偏置电流来达到省电的目的。
二、ALSA 框架
三、buildroot 配置
1、在 buildroot 根目录下执行 make menuconfig,选择 Target packages
2、选择 Audio and video application
3、勾选 atest,选择 alsa-utils
4、按照下图进行配置
5、保存
6、make,重新编译文件系统
四、烧录到 SD 卡
sudo tar xf ./output/images/rootfs.tar -C /media/Gnep/rootfs/
五、测试
1、查看 CODEC 设备
上电可以看到这样一条打印
执行下列命令,查看 CODEC 设备
ls /dev/snd
- controlC0表示控制器
- pcmC0D0c 表示capture
- pcmC0D0p 表示play
- timer 表示定时器
使用该设备编程可以参考:http://blog.csdn.net/zhenwenxian/article/details/5901239
出现了该设备说明codec驱动被正确加载。
2、alsa-utils 使用
①、查看设备
arecord -l
②、调节音量
alsamixer
alsamixer 是图形化的 amixer 工具,如下图所示
按 F4
从左到右是:耳机音量,耳机输出源,Mic增益,mic1 boost,DAC增益。
可以很方便地调整音频输出设置
00表示当前音量正常,MM表示此声道是静音。可以通过键盘上的M键来切换静音和正常状态。
开机后默认状态是静音状态,需要取消掉静音状态
或者执行下列命令设置音量和解除静音
amixer -c 0 sset 'Headphone',0 100% unmute
alsamixer
③、查看控制器
amixer contents
④、录音测试
耳机输入内置了放大器。
耳机,linein,同时只能使用1种。
使用输入端口前需要设置 mixer 控制器,ADC input Mux
ADC Input Mux 和对应的输入端口
0 linein
1 fmin
2 mic1
3 mic2
4 mic1,mic2
5 mic1+mic2
6 output mixer
7 linein,mic1
使用amixer来设置通道
amixer -c <"card"> cset numid=<"control#"> <"input_port">where:
<"card"> is the card, 0 for the sunxi-codec and 1 for the hdmi audio output
<"input_port"> is the input port from the table
<"control#"> is the control # showed using: aximer contents
card,device 的确定方法:
card,device 必须对应 hdmi 的声卡号和设备号,可以使用 aplay -l 查看对应的 hdmi 设备,可能会有出现多个 hdmi设备,确定当前可以使用的hdmi设备的方法如下:
aplay -l
cat /proc/asound/cards # 查看nvidia设备对应的ID号(根据下面的查看就是为0)
使用下面命令使能耳机并录音
amixer -c 0 cset numid=12 2 # 使能mic1
arecord -D hw:0,0 -d 3 -f S16_LE -r 16000 tmp.wav # 3s 录音测试
生成的音频文件
或执行下面的录音10s
arecord -f cd -d 10 record.wav
-f 是设置录音质量,“-f cd”表示录音质量为 cd 级别。-d 是指定录音时间,单位是 s,这条指令就是录制一段 cd 级别 10s 的 wav 音频,音频名字为 record.wav。录制的时候大家就可以对着开发板上的 MIC 说话,直到录制完成。
⑤、播放测试
amixer -c 0 sset 'Headphone',0 100% unmute
speaker-test -twav -c2
atest
aplay tmp.wav
戴上耳机就可以就可以听到录制的音频
我的qq:2442391036,欢迎交流!
荔枝派Zero(全志V3S)开启alsa,测试codec相关推荐
- 4.荔枝派 zero(全志V3S)-开启alsa,测试codec
上面是我的微信和QQ群,欢迎新朋友的加入. 1.buildroot配置 按照如上配置,重新编译文件系统,拷贝到设备 2.测试 查看设备 # arecord -l **** List of CAPTUR ...
- 荔枝派Zero | 全志V3s 开发教程(一) 烧录系统镜像的方法以及如何烧录主线Linux系统镜像
荔枝派Zero | 全志V3s 开发教程(一) 荔枝派Zero的开发教程: http://zero.lichee.pro/系统开发/type.html 刚开始尝试编译Camdroid官方SDK,最终浪 ...
- 1.荔枝派 zero(全志V3S)-编译及SD烧录
上面是我创建的群聊,欢迎新朋友的加入. 之前买了个荔枝派,全志的A3S芯片.折腾了两天,写一下编译和SD烧录的过程. 目录 1.直接烧录镜像文件 2.uboot编译 3.kernel编译 4.root ...
- 7.荔枝派 zero(全志V3S)-编译内核驱动,生成KO文件
上面是我的微信和QQ群,欢迎新朋友的加入. 在网上溜了一大圈,发现竟然没人写过荔枝派编译内核驱动的帖子. 或许是我输入的关键字不对 今天特意做了一下这个事情. 1.改kernel makefile 当 ...
- 5.荔枝派 zero(全志V3S)-buildroot配置播放视频
上面是我的微信和QQ群,欢迎新朋友的加入. 1.开启ALSA和MPLAY 编译烧录 2.测试 amixer -c 0 sset 'Headphone',0 100% unmute cd /usr/bi ...
- 13.荔枝派 zero(全志V3S)-gadget Mass Storage虚拟U盘
上面是我的微信和QQ群,欢迎新朋友的加入. make ARCH=arm menuconfig 配置如图 保存之后,重新编译 make ARCH=arm CROSS_COMPILE=arm-linux- ...
- 荔枝派Zero(全志V3S)编译Kernel
文章目录 前言 一.安装依赖 二.安装交叉编译器 三.下载linux源码 四.编译linux源码 前言 上文我们讲述了uboot编译及配置,本文讲述了如何编译kernel,对编译过程中遇到的问题进行解 ...
- 玩转RT-Thread之荔枝派Nano(全志F1C100S) 新手上路
玩转RT-Thread之荔枝派Nano(全志F1C100S) 一.新手上路 --作者:燕十三(flyingcys) blog:http://blog.csdn.net/flyingcys --荔枝派n ...
- 荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记
首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...
最新文章
- Oracle数据库实例的创建、删除、修改
- 在android studio中配置ndk开发环境
- Python 第三方模块之 imgaug (图像增强)
- 最小拍控制系统详细解读(阶跃输入+速度输入2个案例)【Simulink仿真】
- 执行h2o的python命令时出现:TypeError: ‘NoneType‘ object is not callable
- endnote如何导入txt文件_python如何处理txt及excel文件
- html插入swf自动播放,html嵌入播放器,flv视频播放器 Flvplayer.swf 可自动播放参数说明...
- Tomcat介绍和MyEclipse搭建DRP系统
- HbuilderX开发App调用手机支付宝支付
- JavaScript 判断手机号码格式 正则表达式 亲测
- 沈阳大学博客网站的设计与实现
- 学习matlab(六)——微分和积分
- 计算机取证(Windows)FTK+X-Way取证复制
- Java基础——LinkedList源码分析
- uniapp 简陋易懂版仿抖音视频播放
- 解决无法正常下载Git安装包的问题
- 将Vue项目methods中的方法暴露在window上
- 胡新宇.华为.过劳死
- dumpbin是什么意思_Boost 连接库的命名含义
- 小程序毕业设计 基于微信医院预约挂号小程序毕业设计开题报告功能参考