2008-11-06 9 views
18

Je souhaite alerter l'utilisateur dans une application Swing de certains événements avec un bip de haut-parleur PC à l'ancienne, car il n'y a pas sur chaque PC une carte son avec un haut-parleur joint. (Au moins sur mon PC de travail il n'y a pas de haut-parleur, avec une raison. :-) Comment puis-je faire cela?Comment faire du bruit sur le haut-parleur du PC avec Java

MISE À JOUR: java.awt.Toolkit.getDefaultToolkit(). Beep() semble généralement générer un son sur la carte son. Il utilise uniquement le haut-parleur s'il n'y a pas de carte son active. L'impression d'une valeur ASCII 7 ne fonctionne que si l'application est lancée dans un terminal, ce qui n'est généralement pas le cas d'une application Swing. Donc la question est toujours ouverte.

+2

Juste pour noter, j'ai un nouveau PC qui n'a pas de haut-parleur interne. –

+0

@Jonathan S. - Je ne savais pas que de telles choses existaient. Est-ce un ordinateur portable? –

+0

Si vous construisez votre propre, vous pouvez évidemment tout simplement ne pas connecter le haut-parleur, mais je ne suis pas au courant de ceux qui ne viennent pas avec un.Ils sont très nécessaires pour le débogage des problèmes de la carte mère (codes sonores), entre autres choses. – rmeador

Répondre

20

Toolkit.getDefaultToolkit().beep();

+0

Bip ne fonctionne pas comme le demandeur l'intention; il utilise un son d'erreur déterminé par le système d'exploitation. –

2

valeur ASCII 7 est un bip. Alors imprimez simplement ce personnage.

+0

Cela peut ou peut ne pas fonctionner en fonction du lancement de l'application. Si elle est lancée en dehors d'un terminal normal, l'impression ne sera pas interprétée par le shell. La solution de Mmyers est plus flexible. –

7

Essayez ceci:

java.awt.Toolkit.getDefaultToolkit().beep(); 

Il a travaillé pour moi, même si je ne suis pas sûr que ce fut le signal sonore haut-parleur PC ou un bip généré OS.

+1

Fonctionne également sous OS X. Il joue le son d'alerte de votre système. –

+0

Je suis à peu près certain que sous Windows, si vous n'avez pas de pilote de carte son/carte son installé et qu'il se passe quelque chose qui nécessite ce type de bip, le système émet un bip à la place. –

+0

Bip ne fonctionne pas comme le demandeur l'intention; il utilise un son d'erreur déterminé par le système d'exploitation. –

4

Je lis quelque part que vous avez besoin d'utiliser un C/C++ dll et connectez-vous avec JNI, pour faire ce travail, .. lien est déconnecté

Ok j'ai trouvé ce que vous cherchez

http://pyx4j.com/pyx4j-native/index.html

il pyx4j natif projet est une collection d'emballages java pour les fonctions de Windows comme le temps et bip. Maintenant, ne fonctionne que sur les fenêtres.

NativeThreadDump - Envoyer CtrlBreak événement actuel processus

Bip - Faire un son à l'aide du haut-parleur PC

FileUtil - Accès et modifier le temps de création de fichiers. Utilisé dans com.pyx4j.log.RollingFileAppender

NativeTimer - système de contre-performance à haute résolution utilisée avant Java 5

3

Autre que le bip sonore, vous pouvez essayer JFugue. JFugue est une API Java open-source pour programmer de la musique sans les complexités du MIDI.

+0

Merci pour la réponse, mais JFugue est-il capable de faire un son sur le haut-parleur du PC même si une carte son est présente? Sinon, cela ne répond pas à la question. ;-) –

0
{ 
    If (whatever you named the file) = true 
    Then 
    Process.Start ("C:\Windows\Media\{whatever you named the file}) 
    } 

J'utilise cela en C#. Il est tard pour moi que le code ne soit pas exactement précis avant que les gens fassent écho à ce message. Placez un répertoire d'écriture pour nommer un dossier et déclarez-le l'emplacement par défaut. Déplacez le son de votre choix dans ce dossier et il jouera la tonalité audio. Réglez la minuterie en Java pour boucler le son toutes les 2 secondes pour attirer l'attention des personnes. J'espère que cela m'aidera pendant que j'apprends mon moi!

+0

Vous devez au moins mentionner que c'est une réponse Windows uniquement, pas une réponse Java générale. –

Questions connexes