Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Linux嵌入式应用开发- Ubuntu 音频录音编程

软件:Ubuntu  eclipse gcc1,音频开发模型: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/versionAdvanced linux Sound Architecture Driver Version 1.0.232,Alsa-lib 编译a,下载并安装 alsa-lib库免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /2012年资料/2月/12日/Linux嵌入式应用开发- Ubuntu 音频录音编程/root@ubuntu: tar -xvf  alsa-lib-1.0.13.tar.bz2root@ubuntu:./configureroot@ubuntu:makeroot@ubuntu: make install3,编程a,添加头文件#include <alsa/asoundlib.h>b,编程录音代码.
  1. >#include <stdio.h>  
  2.     #include <stdlib.h>   
  3.     #include <alsa/asoundlib.h>   
  4.             
  5.     main (int argc, char *argv[])  
  6.     {  
  7.         int i;  
  8.         int err;  
  9.         short buf[128];  
  10.         snd_pcm_t *playback_handle;  
  11.         snd_pcm_hw_params_t *hw_params;  
  12.       
  13.         if ((err = snd_pcm_open (&playback_handle, argv[1], SND_PCM_STREAM_PLAYBACK, 0)) < 0) {  
  14.             fprintf (stderr, "cannot open audio device %s (%s) ",   
  15.                  argv[1],  
  16.                  snd_strerror (err));  
  17.             exit (1);  
  18.         }
写完程序 在link 时 添加参数 -lasound