arm linux利用alsa驱动并使用usb音频设备

 更新时间:2017年10月15日 10:27:15   作者:Jello  
这篇文章主要介绍了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音频设备 ,希望对大家有所帮助!

相关文章

  • 嵌入式Linux开发环境搭建ping、nfs的解决方法

    嵌入式Linux开发环境搭建ping、nfs的解决方法

    在本篇文章里小编给大家整理了关于嵌入式Linux开发环境搭建ping、nfs的解决方法,需要的朋友们学习参考下。
    2019-07-07
  • Linux下安装SVN服务端的方法步骤

    Linux下安装SVN服务端的方法步骤

    这篇文章主要介绍了Linux下安装SVN服务端的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • linux下/etc/passwd文件的选项说明

    linux下/etc/passwd文件的选项说明

    /etc/passwd 文件是系统的主要文件之一。该文件中包含了所有用户登录名清单;为所有用户指定了主目录;在登录时使用的 shell 程序名称等。该文件还保存了用户口令;给每个用户提供系统识别号。
    2008-06-06
  • Linux中/var/spool/postfix/maildrop占空间很大的原因解析

    Linux中/var/spool/postfix/maildrop占空间很大的原因解析

    这篇文章主要给大家介绍了关于Linux中/var/spool/postfix/maildrop占空间很大的原因解析,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • 阿里云Centos6.X发邮件遇到的各种问题

    阿里云Centos6.X发邮件遇到的各种问题

    这两天用PHPMailer写了个发送邮件功能,在本地测试可以发送邮件,但是放到阿里云服务器缺发送不了,经过查询,最终解决了,把方法分享给大家
    2018-09-09
  • Linux netstat命令大全详解

    Linux netstat命令大全详解

    本篇文章主要介绍了Linux netstat命令详解,现在分享给大家,也留给日后一个参考,有需要的可以了解一下。
    2016-11-11
  • linux查看防火墙是否关闭的实例方法

    linux查看防火墙是否关闭的实例方法

    在本篇文章里小编给各位分享的是关于linux查看防火墙是否关闭的实例方法,需要的朋友们可以学习下。
    2020-03-03
  • 详解Linux中PostgreSQL和PostGIS的安装和使用

    详解Linux中PostgreSQL和PostGIS的安装和使用

    这篇文章主要介绍了详解Linux中PostgreSQL和PostGIS的安装和使用,并把需要注意点做了分析和解释,需要的朋友学习下。
    2018-02-02
  • 在Linux系统中使用Vim读写远程文件的命令详解

    在Linux系统中使用Vim读写远程文件的命令详解

    这篇文章主要介绍了在Linux系统中使用Vim读写远程文件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Linux中nohup与&的用法和区别详解

    Linux中nohup与&的用法和区别详解

    这篇文章主要给大家介绍了关于Linux中nohup与&的用法和区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10

最新评论