Bom eu estou procurando uma forma de emitir um beep da placa mãe sem ser por aquele comando Toolkit.getDefaultToolkit().beep() porque esse é muito baixo ou por System.out.print("\007") porque esse não funciona.
Não posso usar nenhuma manipulação de arquivos de som porque as máquinas não tem caixas de som.
Portando, o beep tem que ser direto pelos alto-falantes da placa mãe.
Os detalhes de uso do JNA para o beep já devem estar praticamente mastigados/abstraídos na minha biblioteca e se bem me lembro o usuário thingol já postou neste fórum uma implementação completa do uso da função Beep da api win32 com JNI.
Inté.
T
thingol
Puxa vida, nem me lembrava que tinha escrito isso ( http://www.guj.com.br/posts/list/51257.java ). Devo estar ouvindo menos ainda (no teste que havia feito, não conseguia distinguir mais de 7KHz; agora devo estar bem pior - se bem que um alto-falante de PC é realmente bem ruinzinho para reproduzir frequências altas e baixas.
R
rifoguit
Bom dia KWill,
A sua API não funfo não.
Testei em várias máquinas.
Ao amigo que postou sobre a API do Windows, quero lembrar aos senhores que o sistema roda em Linux Slackware 9 e 12. Portanto nem pansar em usar essa implementação.
Sobre a impressão do caracter “\007”, não funfo também.
KWill
rifoguit:
Bom dia KWill,
A sua API não funfo não.
Testei em várias máquinas.
Ao amigo que postou sobre a API do Windows, quero lembrar aos senhores que o sistema roda em Linux Slackware 9 e 12. Portanto nem pansar em usar essa implementação.
Sobre a impressão do caracter “\007”, não funfo também.
Tem que estar rodando como super-ultra-root no linux para o beep rodar, pelo menos em teoria, já que não tive a chance de testar o beep no unixes da vida, só fucei pacas nas documentações de ioctl das distribuições unixes que achei por aí.
Inté.
KWill
Lembrei de algo sobre os unixes da vida, algumas distribuições tem o programinha “beep” e sugiro tentar instalar/compilar esse programa e rodar ele como root para ver no que dá. Se não fizer barulho o speaker/buzzer pode estar desligado na BIOS ou a placa mãe pode nem ter ele…
Se você não ouvir nem esse bip, então você está com azar mesmo, porque a máquina tem problemas (já vi muitas máquinas em que o cara simplesmente nem conectou os fios do alto-falante à placa-mãe - sabe como é que é, incompetência não tem limites) e você não vai poder resolver isso só com software (é que o bip é o som mais forte que o alto-falante do computador pode tocar; se nem isso você conseguir ouvir, sinto muito.)
Se você não ouvir nem esse bip, então você está com azar mesmo, porque a máquina tem problemas (já vi muitas máquinas em que o cara simplesmente nem conectou os fios do alto-falante à placa-mãe - sabe como é que é, incompetência não tem limites) e você não vai poder resolver isso só com software (é que o bip é o som mais forte que o alto-falante do computador pode tocar; se nem isso você conseguir ouvir, sinto muito.)
Tem isso. Mas geralmente quando o micro inicia, a BIOS solta um “beep!”. Você ouve isso? Outra coisa: muitas distribuições, por padrão, (a exemplo do Ubuntu) não emitem um bipe pelo alto-falante da placa mãe se a placa de som estiver corretamente configurada. Mesmo que você digite um printf “\x07” ou echo -e ‘\a’ o som é emitido via caixas de som (ou ao menos ele tenta fazer isso).
T
thingol
Ou seja: sem caixinhas, um abraço. (A minha máquina no serviço é uma Lenovo que tem um arranjo interessante. Se não houver caixinhas ligadas à placa de som, ele redireciona para os alto-falantes internos.)