Linux嵌入式应用开发

软件:Ubuntu  eclipse gcc

1,音频开发模型:

OSS(open sound system)  linux/unix 平台的上早期的统一音频接口。linux kernl 2.6 版本以前其它提供两种设备文件以供编程。 常用的操作函数为open、close、read、write、ioctl.

(/dev/dsp录音设备文件/dev/audio播放设备文件)

ALSA(a)目前流行的编译框架。linux 2.6 版本发后支持。

提供统一的编程接口:snd_pcm_open、snd_pcm_close、snd_pcm_hw_params

基设备文件为:/dev/snd/pcmC0D0p/dev/snd/pcmC0D0c  /dev/snd/pcmC0D1p/dev/snd/timer

可以通过bash命令查看 alsa 驱动版本:

root@ubuntu:cat  /proc/asound/version

Advanced linux Sound Architecture Driver Version 1.0.23

2,Alsa-lib 编译

a,下载并安装 alsa-lib库

免费下载地址在

用户名与密码都是

具体下载目录在 /2012年资料/2月/12日/Linux嵌入式应用开发- Ubuntu 音频录音编程/

root@ubuntu: tar -xvf  alsa-lib-1.0.13.tar.bz2

root@ubuntu:./configure

root@ubuntu:make

root@ubuntu: make install

3,编程

a,添加头文件

#include <alsa/asoundlib.h>

b,编程录音代码.

>#include <stdio.h>       #include <stdlib.h>        #include <alsa/asoundlib.h>                     main (int argc, char *argv[])       {           int i;           int err;           short buf[128];           snd_pcm_t *playback_handle;           snd_pcm_hw_params_t *hw_params;                  if ((err = snd_pcm_open (&playback_handle, argv[1], SND_PCM_STREAM_PLAYBACK, 0)) < 0) {               fprintf (stderr, "cannot open audio device %s (%s)\n",                     argv[1],                    snd_strerror (err));               exit (1);           }

写完程序 在link 时 添加参数 -lasound

Linux嵌入式应用开发- Ubuntu 音频录音编程

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzxgj.html