【问题标题】:Play BIOS sounds (with PC speaker) in Java or Javascript在 Java 或 Javascript 中播放 BIOS 声音(使用 PC 扬声器)
【发布时间】:2013-04-27 07:02:09
【问题描述】:

是否可以使用 Javascript 或 Java 播放基本的 BIOS 声音?
我需要可以在没有声卡的 PC 电脑上播放的声音。
每台 PC 都有内置的 PC 扬声器,在这种情况下很有用。

【问题讨论】:

  • 此声音需要 @JamesScholes 声卡。我需要类似Sticky Keys 的声音(按5 次Shift 来听)
  • 对于它的价值,在 Linux 中,您可以执行 try (OutputStream out = Files.newOutputStream(Paths.get("/dev/console"))) { out.write(7); }(但即使这样也可能需要加载“pcspkr”内核模块)。
  • 我相信用Javascript控制系统扬声器是不可能的,但是你可以用Java。

标签: java javascript audio bios


【解决方案1】:

我会使用 Java 并执行一个外部程序:

Runtime.getRuntime().exec("beep.exe"); //not sure Beep.exe is a real thing

执行哪个程序?不确定,但在这里寻找灵感:

https://superuser.com/questions/227939/how-to-make-the-pc-speaker-beep-from-the-windows-7-command-prompt

或者自己写:

http://www.frank-buss.de/beep/

请注意,使用 exec 本质上是特定于平台的,因此在 Java 中不受欢迎。但是,您尝试做的是特定于平台的操作,因此这是您的最佳选择。

其他值得尝试/思考的事情:

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

但我认为声卡上会发出哔哔声。

System.out.print( (char)7 );

但我不确定这是否会一直有效。

【讨论】:

    【解决方案2】:

    pyx4j-native library 对我有帮助。

      <dependency>
         <groupId>com.pyx4j</groupId>
         <artifactId>pyx4j-native</artifactId>
         <version>1.0.1</version>
      </dependency>
    

    它有类Beep 方法beep(int,int)

    使用这个库可以轻松播放任何声音!

    【讨论】:

      猜你喜欢
      • 2020-05-03
      • 2016-04-02
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多