[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: Bocina del PC!



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



[Hilos de Discusión] [Fecha] [Tema] [Autor]