#include #include #include #include /* * cdaudio: set audio state for cdrom passthru * You could use /dev/audioctl if you didn't * want to change some parameters like sampling rate, * experimentation can be educational. */ char audio[] = "/dev/audio"; audio_info_t ai; int main(ac, av) int ac; char **av; { int fd; fd = open(audio, O_WRONLY); if (fd == -1) { perror("opening audio for write"); return 1; } /* * AUDIO_INITINFO sets all the fields to * a special "no-change" value. */ AUDIO_INITINFO(&ai); ai.record.sample_rate = 48000; ai.record.channels = 2; ai.record.precision = 16; ai.record.encoding = AUDIO_ENCODING_LINEAR; ai.record.gain = 128; ai.record.port = AUDIO_LINE_IN; ai.play.sample_rate = 48000; ai.play.channels = 2; ai.play.precision = 16; ai.play.encoding = AUDIO_ENCODING_LINEAR; ai.play.gain = 128; ai.play.port = AUDIO_SPEAKER; ai.monitor_gain = 240; ai.output_muted = 0; (void)ioctl(fd, AUDIO_SETINFO, &ai); return 0; }