我想在Swing应用程序中通过老式PC扬声器提示某些事件警告用户,因为并非每台PC上都有一个附带扬声器的声卡。 (至少在我的工作PC上没有发言者,有理由。:-)我该怎么做?
更新: java.awt.Toolkit.getDefaultToolkit()。beep()似乎通常会在声卡上生成声音。如果没有活动的声卡,它只使用扬声器。 要打印ASCII值7,只有在终端中启动应用程序时才有效,至少Swing应用程序通常不会。 所以问题仍然存在。
答案 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秒循环一次声音以引起人们的注意。希望这有助于我学习自我!