问题标签 [audioinputstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 无法在 Java 中增加分贝(使用静音选项)
我正在我的 GUI 中使用静音按钮,直到现在我还没有想出一种方法可以做到这一点,所以我想减少分贝并在每次点击时增加它们。所以当我点击静音按钮时,我有:
而且效果很好。但是当我做相反的事情(意思是 +60.0f)时,我得到 IllegalArgumentException:请求的值 60.0 超过允许的最大值 6.0206。
我像这样加载剪辑:
有没有办法用我的方法绕过这个,或者有人知道更好的方法来做我想做的事吗?任何帮助是极大的赞赏。
url - AudioInputStream 正在抛出 NullPointerException
我一直在寻找一种从我的项目中导出 JAR 文件的方法,无论它位于何处,它都能始终播放声音文件。为此,我编写了以下代码,该代码返回文件的确切路径。
当我让 AudioInputStream 将文件作为流打开时,即使 URL 之前有一个值,它也会引发 NullPointerException。
我知道如果我提供 AudioInputStream 就不会发生这种情况"rsc/click.wav"
,但是当我导出项目时找不到该文件。如果有另一种方法可以导出仍然可以播放音频文件的项目,如果它有效,我想使用它。
java - 在Java中多次连接相同的AudioInputStream
我正在制作一个程序,以音频形式记录抽认卡,然后将它们编译成一组,这样我就可以在通勤时收听。
我试图在卡片的正面和背面之间添加一点沉默,让自己有时间思考。为此,我录制了大约 3 秒没有声音的音频,然后我计划将其连接多次以提供所需的静音量。当我尝试这样做时,我发现我实际上并没有添加任何新声音。
这是我这样做的一种简化方式:
我注意到如果我把它放在 for 循环的开头
然后它工作。
为什么每次都需要一个新的输入流?有一个更好的方法吗?就是感觉没那么干净。
谢谢
java - 来自文件转换的 AudioInputStream 给出“frameLength=-1”
我正在尝试从特定格式的文件中获取 AudioInputStream。当我在其中打开文件时,fileStream
我得到一个正的 frameLength,这意味着可以读取文件并且 AudioInputStream 有效地包含数据。现在我想用 AudioSystem 转换它,AudioSystem.getAudioInputStream(format, fileStream);
并且获得的流audioStream
的 frameLength 为-1。我什至确保支持转换,而且确实如此。
我完全被卡住了,我还没有找到任何有同样问题的人。我欢迎任何关于不同库的建议,但我更愿意继续使用这个,因为我已经习惯了。
java - 如何使用单独的方法通过剪辑停止音频
所以这是我的代码。我把它放在一个单独的班级里,所以我可以简单地调用开始和停止音乐,而我要做的实际上是通过调用 stopMusic 方法找到一种停止音乐的方法。我不知道如何使用剪辑和 InputStreams,所以我不确定有什么方法可以实际实现我正在尝试做的事情。(编辑:我应该提到这些代码都不是我的,所以我不熟悉它,我试图找到一种方法在我的游戏中实现音频并找到了一个有用的教程)
java - 重用 AudioInputStream
我有一个程序是我为朋友和我做了一段时间的,它可以用作计时器和闹钟。它会在您启动计时器时播放声音并显示图像,并在计时器结束时播放另一个声音和图像。它一直运行良好(或多或少),但我的朋友最近切换到 Linux 并且有一些更具交互性的声音控制器,这导致我们发现程序的一个问题:每次播放声音时,它都会创建一个全新的输入流在程序完全关闭之前,它不会被重用并且不会消失。这个糟糕的设计不仅是我想学习如何解决的问题,而且当我的朋友尝试多次使用计时器而不关闭程序时,它也会给我的朋友带来问题。我相信解决方法是让所有声音都通过一个输入流播放(如果有人更了解 Java 和 Linux 的交互,请纠正我)。我尝试简单地将 AudioInputStream 设置为全局变量并在每次使用之前将其重置,但这会导致图像和声音完全停止工作,我不知道为什么。下面是我当前和有缺陷的代码中按下按钮时执行的操作。接下来是有效但无效的代码。
工作但无效:
谢谢!此外,欢迎对代码提出任何建设性的批评,无论是否与问题相关。
java - Java 音乐文件返回“(没有这样的文件或目录)”但路径似乎正确
我现在正在开发一个 Java 游戏项目,并且正在尝试导入音乐。但是,我似乎无法让它工作:
以上是我的music.java类的代码,然后在我的主game.java类中调用。
但我的输出返回
我相当确定我的 .wav 文件放置在正确的位置(在我的“bin”文件夹内的“audio”文件夹中,所以我不确定发生了什么。
java - 使用 Main.class.getResource("notification.wav").getFile() 时找不到文件或语法不正确
我正在尝试播放 .wav 文件,但在使用相对路径函数时遇到了麻烦。
如果我在 IntelliJ 中运行上面的代码,我会收到错误:
java.io.FileNotFoundException: C:\Users\Dominik\Documents\IntelliJ%20Projects\nbbot\out\production\nbbot\com\company\notification.wav (The system cannot find the path specified)
如果我运行我构建的 .jar 应用程序,我会收到以下错误:
java.io.FileNotFoundException: file:\C:\Users\Dominik\Documents\IntelliJ%20Projects\nbbot\nbbot_jar\nbbot.jar!\com\company\notification.wav (The filename, directory name, or volume label syntax is incorrect) in Java?
.wav 文件是 Main 类,我在其中运行截取的代码位于同一文件夹中:
nbbot > src > com > company > Main.java; 通知.wav
这很奇怪,因为路径是正确的,只是读取文件应该没有问题。我也尝试过Main.class.getClass().getResource("notification.wav").getFile();
,.getPath()
但也没有运气。如果我只是使用new File("notification.wav")
并将 .wav 放在项目文件夹nbbot
中,音频会作为意图播放,但只能在 IDE 中播放。
java - “播放器”无法解析或不是字段,如何解决此编译错误?
我正在尝试用 Java 播放音乐,但我无法解决这个问题。
不管我把它改成什么,播放器都不会工作。
java - AudioInputStream 不工作,我该如何解决?
我想在我的应用程序中添加音乐,所以我在互联网上搜索,发现了这个视频:https : //youtu.be/SyZQVJiARTQ 我复制了所有这些,在视频中一切都很好,但在我的代码中, AudioInputStream 不工作,它给出了一个错误。
此行有多个标记
- AudioInputStream 无法解析为类型
- 无法解析 javax.sound.sampled.AudioInputStream 类型。它是从所需的 .class 文件中间接引用的
- 来自 AudioSystem 类型的方法 getAudioInputStream(File) 指的是缺少的类型 AudioInputStream
我尝试了其他代码,但每次 AudioInputStream 都会出错。
这里也是代码