前言

客户购买多台UNO-2184,使用fedora23系统进行视频监控,视频监控的同时,也要同步采集现场画面的声音,原来系统采用的是fedora 14,之前是通过操作/dev/bsp,对声卡进行操作,由于内核的升级不再支持此方式,新的内核开始使用alsa驱动方式,因此需要测试该功能,协助客户完成程序升级。

解决办法如下:

1.下载相关头文件的包,如果不下载编译程序会提示找不到asoundlib.h这个头文件

fedora 23下载

yum install alsa-lib-dev

其他系统可能需要下载

apt-get install bliasound2-dev

2.下载测试程序

  yum install alsa-utils*

  系统自动更新后,输入aplay -h 看看有没有提示程序找不到

3.在UNO-2184上MIC-in(红色端口)端口插入麦克风,在line-out(绿色端口)插入音响或耳机

4.查看声卡状态

  使用arecord -l,查看声卡的录音设备

   如下图,录音设备是card 0 ,device 0

  使用aplay -l,查看声卡的播放设备

   如下图,line-out的播放设备是card 0 ,device 0

   其他device3,device7是在HDMI通道上,我们这里没用到。

5.使用arecord进行录音操作

这里要解释下具体参数的含义

arecord -D hw:0,0 -f cd -d 5 /home/mio/www.wav

-D表示使用哪个声卡进行录音,通过arecord -l读出来设备,是0,0,具体表示就是hw:0,0

-f cd,这个表示用CD音质进行录音,上面的图的意思显示是用16bit 44.1kHZ 进行采集

-d 5 表示录音操作5s后结束

  /home/mio/www.wav ,表示录音存放的位置

综合起来,就是arecord 用card 0 ,device 0这个设备按照16bit ,44.1kHZ 进行录音采集,然后录音5s后,把www.wav这个音频文件存放在/home/mio目录下。

6.使用aplay进行播放操作

这里要解释下具体参数的含义

aplay -D hw:0,0 -f cd  /home/mio/www.wav

综合起来,就是用card 0 ,device 0这个设备按照16bit ,44.1kHZ 这个频率播放/home/mio/www.wav这个音频文件。

7.循环录循环播放

使用管道命令,也就是二合一命令

arecord -D hw:0,0 -f cd |aplay –D hw0:0 -f cd

8.使用alsamixer调节音量

使用上下键盘进行音量的调节。

9.使用API函数编程

参考官方文档

http://users.suse.com/~mana/alsa090_howto.html#sect03

linux声卡录音和播放(alsa方法)的更多相关文章

  1. Android平台下实现录音及播放录音功能的简介

    录音及播放的方法如下: package com.example.audiorecord; import java.io.File; import java.io.IOException; import ...

  2. Linux声卡驱动移植和測试

    一.分析驱动程序,依据开发板改动代码 代码太长,就不贴了,几个注意点: 1. 查看开发板原理图和S3C2410的datasheet,UDA1341的L3MODE.L3DATA.L3CLOCK分别与S3 ...

  3. mplayer - Linux下的电影播放器

    概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ] mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项] mplayer [全局选项] {一组文件和 ...

  4. Linux终端使用aplay播放wav

    Linux终端使用aplay播放wav aplay是一个ALSA的声卡命令行soundfile录音机的驱动程序. 在linux下可以使用下面命令来查看用法: man aplay 所以可以使用来播放.w ...

  5. IOS关于录音,播放实现总结

    //音频录制(标准过程5,9更新) 准备:导入AVFoundation框架及头文件 1 设置会话类型,允许播放及录音AVAudioSession *audioSession = [AVAudioSes ...

  6. Android开发教程 录音和播放

    首先要了解andriod开发中andriod多媒体框架包含了什么,它包含了获取和编码多种音频格式的支持,因此你几耍轻松把音频合并到你的应用中,若设备支持,使用MediaRecorder APIs便可以 ...

  7. iOS 实时录音和播放

    需求:最近公司需要做一个楼宇对讲的功能:门口机(连接WIFI)拨号对室内机(对应的WIFI)的设备进行呼叫,室内机收到呼叫之后将对收到的数据进行UDP广播的转发,手机(连接对应的WIFI)收到视频流之 ...

  8. Android 实时录音和回放,边录音边播放 (KTV回音效果)

    上一篇介绍了如何使用Mediarecorder来录音,以及播放录音.不过并没有达到我的目的,一边录音一边播放.今天就讲解一下如何一边录音一边播放.使用AndioRecord录音和使用AudioTrac ...

  9. Android 录音和播放

    今天工作上需要做一个一边录音一边播放的功能,大致原因是有一个外部设备输入音频到我们机器,然后我们机器需要马上把音频播放出来.所以了解了一些有关录音和播放的知识.接到这个任务的第一反应就是看看Andro ...

随机推荐

  1. DB2数据库中DB2字符串类型

    DB2字符串是DB2数据库中的基础知识,下面就为您分类介绍DB2字符串,供您参考,如果您对DB2字符串方面刚兴趣的话,不妨一看. DB2字符串是字节序列.DB2字符串包括 CHAR(n) 类型的定长字 ...

  2. RSA加密&解密【Java&Scala】

    一.简介 RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用. RSA公开密钥密码体制.所谓公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解 ...

  3. Python学习日记(二十八) hashlib模块、configparse模块、logging模块

    hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...

  4. 【异常】Caused by: java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0

    使用@RequestParam注解,必须指定名称如: @RequestParam("date")String date

  5. Windows Cmd 命令管理服务

    今天在Windows 干净环境上安装软件过程中,安装完成后,发现部署在IIS 上的网站无法使用,提示  "您提交的参数有误!,请重新提交" 纯净的windows 7 x64位环境, ...

  6. pyecharts绘制map地图

    pyecharts的安装和地图库的安装可以参照 geo绘图:https://www.cnblogs.com/qi-yuan-008/p/12025123.html 直接进入 python的具体使用阶段 ...

  7. mysql根据某一个字段查询数量大于1的数据

    分组条件:org_code select count(1) from qyt_company_info t GROUP BY t.org_code HAVING count(1)>1;

  8. class Pagination(object)分页源码

    class Pagination(object): def init(self, current_page, all_count, per_page_num=10, pager_count=11): ...

  9. 大数据开发之keras代码框架应用

    总体来讲keras这个深度学习框架真的很“简易”,它体现在可参考的文档写的比较详细,不像caffe,装完以后都得靠技术博客,keras有它自己的官方文档(不过是英文的),这给初学者提供了很大的学习空间 ...

  10. BZOJ3028 食物 和 LOJ6261 一个人的高三楼

    总结一下广义二项式定理. 食物 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数 ...