Beep da placa mãe

Boa tarde colegas.

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.

Alguém pode me ajudar???

Pelo que me lembro minha biblioteca SAW-NativeUtils tem funções para usar o speaker/buzzer da placa mãe:

http://www.guj.com.br/posts/list/126146.java#811603

Siga as instruções de uso inclusas no tópico da bandeja de cd rom.

Inté.

[quote=rifoguit]… System.out.print("\007") porque esse não funciona.
[/quote]

Será que não é problema no PC que você está testando? o alto-falante tá ligado? Testou em outra máquina?

[quote=ctdaa][quote=rifoguit]… System.out.print("\007") porque esse não funciona.
[/quote]

Será que não é problema no PC que você está testando? o alto-falante tá ligado? Testou em outra máquina?[/quote]

Eu tenho quase certeza que “System.out.print(”\007");" não funciona no “javaw.exe” e talvez não funcione numa vm java sem console no linux.

Inté.

Toolkit.beep chama o beep do Windows definido por MessageBeep (MB_OK); portanto, não use o método MessageBeep da API do Windows.

Em vez disso, use a API do Windows “Beep” ( http://msdn.microsoft.com/en-us/library/ms679277(VS.85).aspx ) - chame-a via JNA.

[quote=thingol]Toolkit.beep chama o beep do Windows definido por MessageBeep (MB_OK); portanto, não use o método MessageBeep da API do Windows.

Em vez disso, use a API do Windows “Beep” ( http://msdn.microsoft.com/en-us/library/ms679277(VS.85).aspx ) - chame-a via JNA. [/quote]

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é.

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.

Bom dia KWill,

A sua API não funfo não. :cry:
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. :cry:

[quote=rifoguit]Bom dia KWill,

A sua API não funfo não. :cry:
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. :cry:[/quote]

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é.

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…

Inté.

http://johnath.com/beep/beep-1.2.2.tar.gz

Atenção, só roda como root, já que tenta capturar o /dev/console.

Em particular, eu náo aconselharia forçar muito a barra.

Faça uma experiência: abra um console do Linux, e tente rodar algum comando que toque um bip no console.

http://blog.elcio.com.br/beep-no-console-do-linux-com-bash-e-printf/

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.)

Hei… para windows tem um driver Sound to Speaker… para PC sem placa de som é uma boa.
http://support.microsoft.com/kb/138857

[quote=KWill]
Eu tenho quase certeza que “System.out.print(”\007");" não funciona no “javaw.exe” e talvez não funcione numa vm java sem console no linux.

Inté.[/quote]

É… no javaw.exe o print("\007") não funciona mesmo… mas no java do linux não tem javaw… tem?

[quote=thingol]http://johnath.com/beep/beep-1.2.2.tar.gz

Atenção, só roda como root, já que tenta capturar o /dev/console.

Em particular, eu náo aconselharia forçar muito a barra.

Faça uma experiência: abra um console do Linux, e tente rodar algum comando que toque um bip no console.

http://blog.elcio.com.br/beep-no-console-do-linux-com-bash-e-printf/

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.)
[/quote]
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).

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.)