snd_adjust.c

来自「基于linux的录音程序」· C语言 代码 · 共 58 行

C
58
字号
#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <linux/soundcard.h>#include <sys/ioctl.h>#include <errno.h>#include "snd_adjust.h"int snd_adjust(){	int fd_m;	int val,left,right;	int err;	fd_m = open("/dev/mixer",O_RDONLY);	if(fd_m<0)	{		perror("open mixer failed~~\n");                return 0;//leo		//exit(0); //leo	}	ioctl(fd_m,MIXER_READ(SOUND_MIXER_SPEAKER),&val);	printf("SPEAKER gain is %d %%\n",val);	close(fd_m);	fd_m = open("/dev/mixer",O_RDONLY);	if(fd_m<0)	{		perror("open mixer failed~~  read ~~\n");                return 0;		//exit(1);//leo	}	val = 0;	left = 100;	right = 100;	val = left | right<<8;	err = ioctl(fd_m,SOUND_MIXER_WRITE_SPEAKER,&val);	if( err<0 )	{		perror("SOUND MIXER WRITE SPEAKER failed\n");		//exit(1);	}	val = 0;	left = 255;	right = 255;	val = left| right<<8;	ioctl(fd_m,SOUND_MIXER_WRITE_MIC,&val);	 if(err=-1)        {                perror("MIXER_WRITE_MIC failed\n");                //exit(1);        }	close(fd_m);	return 1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?