📄 00000020.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: bcl (晓颖), 信区: Linux <BR>标 题: 音量控制程序 <BR>发信站: BBS 水木清华站 (Fri Nov 19 09:44:26 1999) WWW-POST <BR> <BR>/*-------Sound Controler----------------------*/
<BR>/*-------built by ever,Aug 7,1999-------------*/
<BR>/*-------please compile like this:------------*/
<BR>/*-------c++ -o sndctrl sndctrl.c-------------*/
<BR>
<BR>#include <sys/types.h>
<BR>#include <sys/stat.h>
<BR>#include <fcntl.h>
<BR>#include <sys/ioctl.h>
<BR>#include <sys/soundcard.h>
<BR>#include <stdio.h>
<BR>#include <unistd.h>
<BR>#include <math.h>
<BR>#include <string.h>
<BR>#include <stdlib.h>
<BR>
<BR>#define BASE_VALUE 257
<BR>
<BR>main(int argc,char *argv[])
<BR>{
<BR> int mixer_fd=0;
<BR> char *names[SOUND_MIXER_NRDEVICES]=SOUND_DEVICE_LABELS;
<BR> int value;
<BR>
<BR> printf("\nusage:%s dev_no.[0..24] value[0..100]\n\n",argv[0]);
<BR> printf("eg. %s 0 100\n",argv[0]);
<BR> printf(" will change the volume to MAX volume.\n\n");
<BR> printf("The dev_no. are as below:\n");
<BR> for (int i=0;i<SOUND_MIXER_NRDEVICES;i++){
<BR> if (i%3==0) printf("\n");
<BR> printf("%s:%d\t\t",names[i],i);
<BR> }
<BR> printf("\n\n");
<BR>
<BR> if (argc<3)
<BR> exit(1);
<BR>
<BR> if (mixer_fd = open("/dev/mixer",O_RDWR)){
<BR> printf("Mixer opened successfully,working...\n");
<BR> value=BASE_VALUE*atoi(argv[2]);
<BR> if (ioctl(mixer_fd,MIXER_WRITE(atoi(argv[1])),&value)==0)
<BR> printf("successfully.....");
<BR> else printf("unsuccessfully.....");
<BR> printf("done.\n");
<BR> }
<BR>
<BR> else printf("can't open /dev/mixer error....\n");
<BR>}
<BR> <BR>-- <BR> I'm always here. <BR> Yours, <BR> Shell.Y.bcl <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.119.37.5] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -