linux声卡录音和播放(alsa方法)
前言
客户购买多台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方法)的更多相关文章
- Android平台下实现录音及播放录音功能的简介
录音及播放的方法如下: package com.example.audiorecord; import java.io.File; import java.io.IOException; import ...
- Linux声卡驱动移植和測试
一.分析驱动程序,依据开发板改动代码 代码太长,就不贴了,几个注意点: 1. 查看开发板原理图和S3C2410的datasheet,UDA1341的L3MODE.L3DATA.L3CLOCK分别与S3 ...
- mplayer - Linux下的电影播放器
概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ] mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项] mplayer [全局选项] {一组文件和 ...
- Linux终端使用aplay播放wav
Linux终端使用aplay播放wav aplay是一个ALSA的声卡命令行soundfile录音机的驱动程序. 在linux下可以使用下面命令来查看用法: man aplay 所以可以使用来播放.w ...
- IOS关于录音,播放实现总结
//音频录制(标准过程5,9更新) 准备:导入AVFoundation框架及头文件 1 设置会话类型,允许播放及录音AVAudioSession *audioSession = [AVAudioSes ...
- Android开发教程 录音和播放
首先要了解andriod开发中andriod多媒体框架包含了什么,它包含了获取和编码多种音频格式的支持,因此你几耍轻松把音频合并到你的应用中,若设备支持,使用MediaRecorder APIs便可以 ...
- iOS 实时录音和播放
需求:最近公司需要做一个楼宇对讲的功能:门口机(连接WIFI)拨号对室内机(对应的WIFI)的设备进行呼叫,室内机收到呼叫之后将对收到的数据进行UDP广播的转发,手机(连接对应的WIFI)收到视频流之 ...
- Android 实时录音和回放,边录音边播放 (KTV回音效果)
上一篇介绍了如何使用Mediarecorder来录音,以及播放录音.不过并没有达到我的目的,一边录音一边播放.今天就讲解一下如何一边录音一边播放.使用AndioRecord录音和使用AudioTrac ...
- Android 录音和播放
今天工作上需要做一个一边录音一边播放的功能,大致原因是有一个外部设备输入音频到我们机器,然后我们机器需要马上把音频播放出来.所以了解了一些有关录音和播放的知识.接到这个任务的第一反应就是看看Andro ...
随机推荐
- Radmin入侵
Radmin (Remote Administrator)是一款屡获殊荣的远程控制软件,它将远程控制.外包服务组件.以及网络监控结合到一个系统里,提供目前为止最快速.强健而安全的工具包 生成被控端 点 ...
- intellij IDEA github clone 指定分支代码
1.问题描述 在实际开发中,我们通常会使用idea克隆一个新项目(clone),通常情况下,我们默认克隆的是master分支,但是如果master分支只是一个空文件夹而已,真正的代码在develop分 ...
- QuickStart系列:docker部署之Gitlab本地代码仓库
gitlab是可以在本地搭建的使用git作为源代码管理的仓库. 运行环境: win10+vmware14+docker7+docker 1. 使用命令拉取镜像(非必须,耗时比较久,这里以ce为准,ce ...
- H3C 802.11 WEP加密原理
- Mysql InnoDB行锁不使用索引锁表的时候会锁整张表
原文:http://www.thinkphp.cn/topic/41577.html 如果使用针对InnoDB的表使用行锁,被锁定字段不是主键,也没有针对它建立索引的话.行锁锁定的也是整张表.锁整张表 ...
- HDU4548美素数——筛选法与空间换时间
对于数论的学习比较的碎片化,所以开了一篇随笔来记录一下学习中遇到的一些坑,主要通过题目来讲解 本题围绕:素数筛选法与空间换时间 HDU4548美素数 题目描述 小明对数的研究比较热爱,一谈到数,脑子里 ...
- CentOS7卸载 OpenJDK 安装Sun的JDK8
Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html 下面开始安装步骤: --- ...
- Thinkphp3.2下导入所需的类库 同java的Import 本函数有缓存功能
* 导入所需的类库 同java的Import 本函数有缓存功能 * @param string $class 类库命名空间字符串 * @param string $baseUrl 起始路径 * @pa ...
- oracle取随机数,取固定行数的数
首先建一张测试表: create table DIM_IA_TEST5 ( NAME ), OTHERNAME ), NUM NUMBER, TIMES NUMBER ) 然后插入数据,现在的表数据为 ...
- 自定义express中间件
const http = require('http') class LikeExpress { constructor() { this.middleList = [] this.routes = ...