zoukankan      html  css  js  c++  java
  • 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

    linux声卡录音和播放(alsa方法) - 老@_@虎 - 金窝银窝不如自己的草窝

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

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

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

    5.使用arecord进行录音操作

    linux声卡录音和播放(alsa方法) - 老@_@虎 - 金窝银窝不如自己的草窝

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

    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进行播放操作

    linux声卡录音和播放(alsa方法) - 老@_@虎 - 金窝银窝不如自己的草窝

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

    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调节音量

    linux声卡录音和播放(alsa方法) - 老@_@虎 - 金窝银窝不如自己的草窝

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

    9.使用API函数编程

    参考官方文档

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

  • 相关阅读:
    【Java学习系列】第3课--Java 高级教程
    【夯实PHP基础】nginx php-fpm 输出php错误日志
    【夯实Mysql基础】MySQL性能优化的21个最佳实践 和 mysql使用索引
    【架构设计】分布式文件系统 FastDFS的原理和安装使用
    【13】2016.12.13 周二--《小结2016》
    【诗词歌赋】2016.12.15 周四--文言鸿儒《年终的日常》
    【算法】(查找你附近的人) GeoHash核心原理解析及代码实现
    【夯实Nginx基础】Nginx工作原理和优化、漏洞
    【夯实PHP基础】PHP的反射机制
    HTML DOM简易学习笔记
  • 原文地址:https://www.cnblogs.com/cute/p/11389068.html
Copyright © 2011-2022 走看看