Linux声音设备编程.doc

Linux声音设备编程.doc

ID:57688937

大小:28.50 KB

页数:5页

时间:2020-09-01

Linux声音设备编程.doc_第1页
Linux声音设备编程.doc_第2页
Linux声音设备编程.doc_第3页
Linux声音设备编程.doc_第4页
Linux声音设备编程.doc_第5页
资源描述:

《Linux声音设备编程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.4Linux声音设备编程(实验估计时间:120分钟)实验目的通过对机器内部扬声器的编程:1)了解和学习Linux内部设备的控制和管理方法。2)熟悉Linux环境的程序设计和调试方法。3)进一步了解操作系统输入/输出处理技术。实验内容与步骤步骤1:登录进入RadHatLinux。步骤2:单击红帽子,在“GNOME帮助”菜单中单击“附件”-“文本编辑器”命令,在文本编辑中键入清单6-4程序并保存为6-4.c。清单6-4让扬声器按指定的长度和音频发声#include#include<

2、stdio.h>#include#include#include#include#include#include //设定默认值#defineDEFAULT_FREQ440//设定一个合适的频率#defineDEFAULT_LENGTH200//200微秒,发声的长度以微秒为单位#defineDEFAULT_REPS1//默认不重复发声#defineDEFAULT_

3、DELAY100//同样以微秒为单位 //定义一个结构,存储所需的数据typedefstruct{intfreq;//期望输出的频率,单位为Hzintlength;//发声长度,以微秒为单位intreps;//重复的次数intdelay;//两次发声间隔,以微秒为单位}beep_parms_t; //打印帮助信息并退出voidusage_bail(constchar*executable_name){printf("Usage:t%s[-ffrequency][-llength][-rreps

4、][-ddelay]",executable_name);exit(1);} //分析运行参数,各项意义如下://"-f<以Hz为单位的频率值>"//"-l<以毫秒为单位的发声时长>"//"-r<重复次数>"//"-d<以毫秒为单位的间歇时长>" voidparse_command_line(char**argv,beep_parms_t*result){char*arg0=*(argv++);while(*argv){if(!strcmp(*argv,"-f")){//频率intfreq=at

5、oi(*(++argv));if((freq<=0)

6、

7、(freq>10000)){fprintf(stderr,"Badparameter:frequencymustbefroml..10000");exit(1);}else{result->freq=freq;argv++;}}elseif(!strcmp(*argv,"-l")){//发声的时间长度intlength=atoi(*(++argv));if(length<0){fprintf(stderr,"Badparameter:len

8、gthmustbe>=0");exit(1);}else{result->length=length;argv++;}}elseif(!strcmp(*argv,"-r")){//重复次数intreps=atoi(*(++argv));if(reps<0){fprintf(stderr,"Badparameter:repsmustbe>=0");exit(1);}else{result->reps=reps;argv++;}}elseif(!strcmp(*argv,"-d")){//延时i

9、ntdelay=atoi(*(++argv));if(delay<0){ fprintf(stderr,"Badparameter:delaymustbe>=0");exit(1);}else{result->delay=delay;argv++;}}else{fprintf(stderr,"Badparameter:%s",*argv);usage_bail(arg0);}}} intmain(intargc,char**argv){intconsole_fd;inti;//循环计数器 /

10、/设发声参数为默认值beep_parms_tparms={DEFAULT_FREQ,DEFAULT_LENGTH,DEFAULT_REPS,DEFAULT_DELAY}; //分析参数,可能的话更新发声参数parse_command_line(argv,&parms); //打开控制台,失败则结束程序if((console_fd=open("/dev/console",O_WRONLY))==-1){fprintf(stderr,"Failedtoopenconsol

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。