linux测试声卡的脚本,linux下声卡编程试探(转)

linux下声卡编程试探(转)[@more@]  经过小第的不懈努力,终于对声卡编程有了一定的掌握.实现了一个小的录音

程序,//hehe //admire

当然还很不完善,还有一些细节我不大清楚//shy,现将原码贴出,请各位给帮

忙指正,//xixi

#include

#include

#include

#include

#include

main()

{

int id,fd,i,j;

char testbuf[4096];

id=open("/dev/audio",O_RDWR);

fd=open("test.wav",O_RDWR);

if(id<0||fd<0){

printf("error in open the device!

");

printf("id %d dsp%d seq%d

",id,dsp,seq);

exit(-1);

}

post=0;

ioctl(id,SNDCTL_DSP_RESET,(char *)&i);

ioctl(id,SNDCTL_DSP_SYNC,(char *)&i);

i=1;

ioctl(id,SNDCTL_DSP_NONBLOCK,(char *)&i);

i=8000;

ioctl(id,SNDCTL_DSP_SPEED,(char *)&i);

i=1;

ioctl(id,SNDCTL_DSP_CHANNELS,(char *)&i);

i=8;

ioctl(id,SNDCTL_DSP_SETFMT,(char *)&i);

i=3;

ioctl(id,SNDCTL_DSP_SETTRIGGER,(char *)&i);

i=3;

ioctl(id,SNDCTL_DSP_SETFRAGMENT,(char *)&i);

i=1;

ioctl(id,SNDCTL_DSP_PROFILE,(char *)&i);

for(j=0;j<10;){

i=read(id,testbuf,4096);

if(i>0){

write(fd,filebuf,i);

j++;

}

}

close(fd);

close(id);

}

该程序只是简单地录一小段纯音频数据存储在test.wav中,用命令

cat test.wav >/dev/audio 就可以播放出来

对了因为程序要读写声卡的设备文件,所以你必须用相应的权限,或者

你是root。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617542/viewspace-946539/,如需转载,请注明出处,否则将追究法律责任。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值