• 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

  • 相关阅读:
    Javascript Read Excel
    Rest API 操作List Items
    web安全入门课程笔记——SQL漏洞分析与利用
    web安全入门课程笔记——网站基础与信息搜集
    博客迁移通知
    Python查找指定文件
    博客园写作避坑指南【持续更新】
    Changes of user relationship in AD can't be correctly synchronized to SCSM
    博客地址改为 https://0xcreed.jxustctf.top
    AI:WEB:1 Walkthrough
  • 原文地址:https://www.cnblogs.com/cute/p/11389068.html
Copyright © 2020-2023  润新知