Bocina del PC!

Salvador Ortiz Garcia sog en msg.com.mx
Mie Jun 14 12:50:35 CDT 2000


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




Más información sobre la lista de distribución Ayuda