java - 控制 Java 应用程序中的音量

标签 java volume

我对java还很陌生。我需要在java应用程序中控制音量(音量增大/减小、静音)。我找不到办法做到这一点。我正在Linux系统上进行开发(仅供引用)。

我厌倦了这段代码:

Java 代码:

Port lineIn;
FloatControl volCtrl;
try {
  mixer = AudioSystem.getMixer(null);
  lineIn = (Port)mixer.getLine(Port.Info.LINE_IN);
  lineIn.open();
  volCtrl = (FloatControl) lineIn.getControl(

      FloatControl.Type.VOLUME);
  // Assuming getControl call succeeds, 
  // we now have our LINE_IN VOLUME control.
} catch (Exception e) {
  System.out.println("Failed trying to find LINE_IN"
    + " VOLUME control: exception = " + e);
}

但我得到了执行

Failed trying to find LINE_IN VOLUME control: exception = java.lang.IllegalArgumentException: Line unsupported: COMPACT_DISC source port

感谢您的帮助

最佳答案

有时控件是嵌套的,这使得独立于平台的解决方案变得困难。我编写了一个实用程序类,其使用方式如下:

Audio.setMasterOutputVolume(0.5f);

源代码在这里:https://github.com/Kunagi/ilarkesto/blob/master/src/main/java/ilarkesto/media/Audio.java

Stackoverflow 用户可以根据 WTFPL 条款使用 Audio.java 中的代码。

关于java - 控制 Java 应用程序中的音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523748/

相关文章:

java - 尝试从空数组 android 中读取

java - 配置 Dispatcher 以进行 akka 日志记录

ios - 是否可以使用 UIButton 实例更改系统音量?

java - Java设置麦克风电平

docker - kube-apiserver 位于哪里

java - REQUIRES_NEW 内的 REQUIRES_NEW 内的 REQUIRES_NEW ... 不断

java - TrueZip - 如何获取 Zip 存档中文件夹的大小

Android:MediaPlayer setVolume 函数

tomcat - 如何使主机可以访问 docker 容器目录?

java - 创建一个 Word (.doc) 文件,将其转换为 PDF 和 HTML,无需打开 Open Office 端口