java - 无法在 Java 中增加分贝(使用静音选项)
问题描述
我正在我的 GUI 中使用静音按钮,直到现在我还没有想出一种方法可以做到这一点,所以我想减少分贝并在每次点击时增加它们。所以当我点击静音按钮时,我有:
for (int i=1; i<clips.length; i++) {
FloatControl gainControl =
(FloatControl) clips[i].getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(-60.0f);
}
而且效果很好。但是当我做相反的事情(意思是 +60.0f)时,我得到 IllegalArgumentException:请求的值 60.0 超过允许的最大值 6.0206。
我像这样加载剪辑:
AudioInputStream i1 = AudioSystem.getAudioInputStream(Game.class.getResource("clips/1.wav"));
clips[1] = AudioSystem.getClip();
clips[1].open(i1);
有没有办法用我的方法绕过这个,或者有人知道更好的方法来做我想做的事吗?任何帮助是极大的赞赏。
解决方案
推荐阅读
- c - 信号量何时初始化为 0?
- node.js - 什么是“cookie-parser”中间件?
- c# - MySql.Data.MySqlClient.MySqlException:'当阅读器关闭时尝试读取无效。'
- vuejs2 - 在调整大小事件上更新 Vue 模板
- outlook - 我们想知道为什么 Microsoft Graph API 需要超过 24 小时才能更新数据才能访问以进行查询
- javascript - 如何传递包含单引号和双引号的字符串?
- javascript - 在javascript中使用函数获取实时值
- javascript - 尽管状态发生了变化,但自定义钩子不会触发组件重新渲染
- python - 使用请求时 Python 超级强制 HTTP/2
- python - 如何将 CSV 文件中的行存储在字典中?