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

相关文章

  • ubuntu开启22端口的实现

    ubuntu开启22端口的实现

    这篇文章主要介绍了ubuntu开启22端口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Linux 挂载磁盘详解及实操步骤

    Linux 挂载磁盘详解及实操步骤

    Linux中挂载磁盘是一项重要的操作,可以用于扩展存储空间,管理数据文件,备份和存储重要文件等,本文将详细介绍Linux系统中挂载磁盘的相关概念、步骤和实际操作指南
    2023-06-06
  • Linux上也有10个流行的Windows应用程序

    Linux上也有10个流行的Windows应用程序

    今天小编就为大家分享一篇关于在linux上也流行的windows程序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • ssh端口转发是什么?有什么用?

    ssh端口转发是什么?有什么用?

    大家好,本篇文章主要讲的是ssh端口转发是什么?有什么用?,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Vim的分屏功能命令大全

    Vim的分屏功能命令大全

    写code的朋友可能都会有个烦恼,长长的代码,小小的屏幕,是我怎能瞻前顾后?而vim的分屏功能在一定程度上解决了这个问题。这篇文章主要给大家介绍了Vim的分屏功能实现,文中通过图文以及详细步骤给大家进行了介绍,相信会对大家的理解和学习很有帮助,
    2016-11-11
  • 禁止网站显示文件目录列表的2个方法(htaccess)

    禁止网站显示文件目录列表的2个方法(htaccess)

    这篇文章主要介绍了禁止网站显示文件目录列表的2个方法,需要的朋友可以参考下
    2016-04-04
  • Linux学习第一篇 虚拟机和镜像文件安装配置

    Linux学习第一篇 虚拟机和镜像文件安装配置

    这篇文章主要为大家详细介绍了Linux学习第一篇,虚拟机和镜像文件安装配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • linux下终端分屏使用的两种方法(screen和tmux)

    linux下终端分屏使用的两种方法(screen和tmux)

    这篇文章主要给大家介绍了关于在linux下终端分屏使用的两种方法,分别是利用screen和tmux,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Linux下关于mtrace工具排查内存泄露的问题

    Linux下关于mtrace工具排查内存泄露的问题

    这篇文章主要介绍了Linux下关于mtrace工具排查内存泄露的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • apache禁止遍历目录的实现步骤

    apache禁止遍历目录的实现步骤

    本文主要介绍了apache禁止遍历目录的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12

最新评论