14.编写ALSA声卡应用程序

目录

1、体验

(1)ALSA声卡使用体验:

(2)使用新内核启动并测试

(3)修改程序后编译新内核并重新启动调试

(4)声音有很多噪声

(5)对于mini2440,重新配置内核

2. 编写一个应用程序

(1)分析

(2)main函数

(3)打开设备

(4)关闭声卡设备和打开播放/录音设备

3、Makefile

4、实验


 

 

1、体验

(1)ALSA声卡使用体验:

使用arecord录音,使用aplay播放,在Alsa-utils里面)

准备:

cd linux-3.4.2
patch -p1 < ../linux-3.4.2_alsa_wm8976_uda1341_jz2440_mini2440_tq2440.patch  //打补丁
cp config_wm8976_jz2440 .config 或 cp config_uda1341_tq2440_mini2440 .config    //设置配置文件
make uImage   //编译内核

(2)使用新内核启动并测试

启动后创建设备节点

直接输入arecord命令查看帮助信息(arecord 选项 文件)

执行命令后,出现错误(没有匹配的通道)

搜索内核目录查看错误原因(在soc_pcm.c文件的222行)

通道最小大于通道最大值,也就是codec这一边的dai不匹配CPU这边的dai接口,他们的声道不匹配,在codec部分,对应wm8976的capture通道支持的声道数是1(最大和最小都是 ,因而应该修改为2);

而在platform(cpu部分)的IIS,capture通道支持的声道数是2,因而不匹配。

(3)修改程序后编译新内核并重新启动调试

jz2440:
i. 声音差
    arecord test.wav  //录音,把录到的声音放到文件test.wav里去
    aplay   test.wav   //播放test.wav文件

对着麦克风说话,然后播放声音

(4)声音有很多噪声

解决办法是添加一些参数(改变采样率,声道数,格式)

-f cd表示每一个采样点是16位,采样率是44100(更高的采样频率),双声道

ii. 声音好
arecord -f cd test.wav
aplay test.wav

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值