arm linux利用alsa驱动并使用usb音频设备
一.背景:
arm linux的内核版本是3.13.0
二.准备工作
添加alsa驱动到内核中,也就是在编译内核的时候加入以下选项:

接下来就重新编译内核即可
三.交叉编译alsa-lib和alsa-utils (alsa-utils是一系列的音频设备控制工具,而alsa-lib是alsa-utils依赖的库,所以先将alsa-lib编译好)
3.1交叉编译alsa-lib
3.2交叉编译alsa-utils
四.将三编译好的库及工具都拷贝至arm开发板(笔者通常直接将编译好的都压缩好之后再复制到开发板进行解压,以避免直接复制造成软链接无法复制的情况)
五.使用alsa-utils中的工具进行各类操作
5.1录音:
arecord -D "plughw:0,0" demo.wmv
5.2播放:
aplay -D "plughw:0,0" demo.wmv
5.3获取控制信息:
amixer controls
输出信息如下:
numid=3,iface=MIXER,name='Master Mode Switch' numid=29,iface=MIXER,name='Master Mux' numid=4,iface=MIXER,name='Master Quality Switch' numid=2,iface=MIXER,name='Master Switch' numid=1,iface=MIXER,name='Master Volume' numid=7,iface=MIXER,name='PCM Mode Switch' numid=6,iface=MIXER,name='PCM Switch' numid=5,iface=MIXER,name='PCM Volume' numid=9,iface=MIXER,name='Mic Switch' numid=8,iface=MIXER,name='Mic Volume'
5.4 获取录音时的音量大小
从5.3可以获取到”numid=8,iface=MIXER,name='Mic Volume'“这条信息,从Mic Volume可以得知是Mic的音量
amixer cget numid=8,iface=MIXER,name='Mic Volume'
5.4设置录音时的音量大小
amixer cset numid=8,iface=MIXER,name='Mic Volume' 255
六:注意事项:
如果将编译好的alsa-utils中的工具复制到fat32格式的存储设备的时候,注意fat32是不支持软链接的,此时需要直接复制一个aplay并将名称改为arecord:
cp aplay arecord
总结
以上所述是小编给大家介绍的arm linux利用alsa驱动并使用usb音频设备 ,希望对大家有所帮助!
上一篇:使用 Docker 搭建 Laravel 本地环境的教程详解
栏 目:其它服务器
本文标题:arm linux利用alsa驱动并使用usb音频设备
本文地址:https://zz.feitang.co/server/36667.html
您可能感兴趣的文章
- 02-02hadoop动态增加和删除节点方法介绍
- 02-02干货 | Linux新手入门好书推荐
- 02-02linux系统下MongoDB单节点安装教程
- 02-02Linux下nginx生成日志自动切割的实现方法
- 02-02Centos 6中编译配置httpd2.4的多种方法详解
- 02-02CentOS7 下安装telnet服务的实现方法
- 02-02分布式Hibernate search详解
- 02-02Hadoop对文本文件的快速全局排序实现方法及分析
- 02-02CentOS6.3添加nginx系统服务的实例详解
- 02-02Hadoop编程基于MR程序实现倒排索引示例


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07tomcat启动报错jar not loaded的问题
- 12-10docker start启动容器后仍然exit状态的解决
- 12-23linux中ftp无法访问怎么办
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-13k8s编排之Deployment知识点详解
- 12-10Linux下如何安装Logstash
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-11docker存储目录迁移示例教程
- 01-07windows server 2008安装配置DNS服务器




