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音频设备 ,希望对大家有所帮助!

相关文章

  • apache集成php5.6方法分享

    apache集成php5.6方法分享

    这篇文章主要介绍了apache集成php5.6方法分享,需要的朋友可以参考下
    2015-01-01
  • Apache 配置伪静态详细步骤

    Apache 配置伪静态详细步骤

    Apache配置伪静态
    2010-02-02
  • 详解SSH 远程执行任务的方法

    详解SSH 远程执行任务的方法

    本篇文章主要介绍了详解SSH 远程执行任务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • linux系统重装导致免密码key登录失败的解决方法

    linux系统重装导致免密码key登录失败的解决方法

    下面小编就为大家带来一篇linux系统重装导致免密码key登录失败的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 详解Linux中nginx如何重启、启动与停止

    详解Linux中nginx如何重启、启动与停止

    这篇文章主要给大家详细介绍了Linux中nginx如何重启、启动与停止/设置开机自启动,小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧<BR>
    2023-12-12
  • 把windows下的字体安装到Linux系统下的方法介绍

    把windows下的字体安装到Linux系统下的方法介绍

    Linux(Fedora/Ubuntu/CentOS)的字体实在不尽如人意,而且在网页及文档显示时很多字无法显示出来,特别多的空白和乱码,其实,我们可以把windows下的字体和自己心仪的字体添加到Linux中,本文将介绍如何在Linux下添加字体
    2018-03-03
  • Vim编辑器常用的命令总结

    Vim编辑器常用的命令总结

    使用 Vim 的时间不长,但如今已经离不开熟悉的 Vim 编辑模式了。 Vim 的学习曲线是非常陡的,一开始学习的时候,面对很多的操作命令要去记住,常常望而却步。其实,只要记住一些常用的命令,加之在工作中坚持使用 Vim 进行编辑,很快就能得心应手了。下面来一起看看吧。
    2017-04-04
  • Apache负载均衡设置方法 mod_proxy使用介绍

    Apache负载均衡设置方法 mod_proxy使用介绍

    本文主要讲解了Apache负载均衡功能的代码配置,首先我们通过几个模块的功能进行配置,之后就会发现其中的奥秘了,那么我们还是来具体看文章吧
    2012-10-10
  • LINUX 防火墙 firewalld-cmd命令详解

    LINUX 防火墙 firewalld-cmd命令详解

    firewalld 防火墙为了简化管理,将所有网络流量分为多个区域(zone),然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域,每个区域都定义了自己打开或者关闭的端口和服务列表,这篇文章主要介绍了LINUX 防火墙 firewalld-cmd命令详解,需要的朋友可以参考下
    2024-01-01
  • Linux切换root用户的几种实现方式

    Linux切换root用户的几种实现方式

    在Linux系统中,root用户为超级用户,拥有最高权限,切换到root用户的常用方法包括使用su、sudo、sudo-i和sudosu命令,每种方法适用于不同场景,需根据实际需求选择,使用root权限需谨慎,以免对系统造成损坏
    2024-11-11

最新评论