将音频文件写入声卡的设备文件中能够实现音频文件的播放。而使用read函数来读取声卡设备文件中的内容,则能够实现录音功能。下面的程序代码实现了在Linux系统下使用声卡设备的录音功能。linux
具体代码以下:
//p6.8.c声卡录音功能
#include
#include
#include
#include
#include
#include
#include函数
//录音时间
#define LENGTH 3it
//采样频率
#define RATE 8000io
//量化位数
#define SIZE 16音频
//声道数目
#define CHANNELS 2ioc
//保存录音的音频数据
unsigned char buf[LENGTH*RATE*SIZE*CHANNELS/8];程序
int main(void){
//声音设备的文件描述符
int fd;
int arg;
//用于保存ioctl的返回值
int status;error
//打开声音设备
fd=open("/dev/dsp",O_RDWR);数据
if(fd<0){
perror("Cannot open /dev/dsp device");
return 1;
}di
//如下设置声卡参数
//设置采样时的量化位数
arg=SIZE;
status=ioctl(fd,SOUN