[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]On Tue, 13 Jun 2000, Rodriguez Martinez Jaime wrote: > > Hola, alguno ha programado la bocina de la PC, > es decir... la frecuencia, volumen, duracion en linux... > ya sea con C o C++???? > > Gracias por adelantado! Primero una advertencia: por limitaciones del harware de las PC es muy poco lo que puedes hacer con la bocina, solo puedes controlar la frecuencia de una onda cuadrada y entre los rangos de 20-32768 Hz su duración, no así el volumen que depende exclusivamente del tipo y colocación de la bocina, ademas el rango dinámico de la misma puede ser muy pobre, sobre todo en PCs nuevas. En linux, como en cualquier otro UNIX, el control del harware a ese nivel lo haces mediante la llamada al sistema ioctl(2) a la que como primer parámetro le tienes que pasar un 'file descriptor' (obtenido con open(2)), en este caso del tty asociado a la consola que estas usando. Existen dos funciones posibles: KDMKTONE y KIOCSOUND, los detalles los encuentras en en console_ioctl(4). Sale ejemplito rapido en perl, pues el C ya se me olvido ;-) ================= #!/usr/bin/perl -w # Produce una escala NO armonica en la bocina de la PC # Este programa es del dominio público sub KDMKTONE () { 0x4b30 } # Tomado de /usr/include/linux/kd.h for(my $c = 100; $c < 2000; $c += 200) { my $argp = (1000<<16) | $c; # Duracion 1000 ms ioctl(STDIN,KDMKTONE,$argp); sleep(1); } ================= Saludos Salvador Ortiz -- Para desuscribirse, mande correo a: ayuda-unsubscribe en linux org mx Para comandos adicionales, envíelo a: ayuda-help en linux org mx