如何用Java在PC扬声器上发出噪音

时间:2008-11-06 18:02:59

标签: java audio

我想在Swing应用程序中通过老式PC扬声器提示某些事件警告用户,因为并非每台PC上都有一个附带扬声器的声卡。 (至少在我的工作PC上没有发言者,有理由。:-)我该怎么做?

更新: java.awt.Toolkit.getDefaultToolkit()。beep()似乎通常会在声卡上生成声音。如果没有活动的声卡,它只使用扬声器。 要打印ASCII值7,只有在终端中启动应用程序时才有效,至少Swing应用程序通常不会。 所以问题仍然存在。

6 个答案:

答案 0 :(得分:21)

Toolkit.getDefaultToolkit().beep();

答案 1 :(得分:7)

试试这个:

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

虽然我不确定这是PC扬声器发出的声音还是一些操作系统产生的嘟嘟声,但它对我有用。

答案 2 :(得分:4)

我在某处读到你需要使用C / C ++ dll并将其与JNI连接,以使其工作,...链接离线

好的,我找到了你要找的东西

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

  

pyx4j-native 项目是一个用于Windows函数的java包装器的集合,如time和 beep 。现在只适用于Windows。

     

NativeThreadDump - 将CtrlBreak事件发送到当前进程

     

哔声 - 使用PC扬声器发出声音

     

FileUtil - 访问和修改文件创建时间。用于com.pyx4j.log.RollingFileAppender

     

NativeTimer - 在Java 5之前使用的系统高分辨率性能计数器

答案 3 :(得分:3)

除了哔哔声,你可以试试 JFugue

JFugue是一个开源的Java API,用于编写没有MIDI复杂性的音乐编程。

答案 4 :(得分:2)

ASCII值7是一声哔哔声。所以只需打印那个角色。

答案 5 :(得分:0)

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

我在C#中使用它。对于我来说,在人们抨击这篇文章之前,代码并不完全准确。放置一个写目录来命名文件夹并将其声明为默认位置。将您选择的声音移动到此文件夹,它将播放音频。在Java中设置定时器以每2秒循环一次声音以引起人们的注意。希望这有助于我学习自我!