问题标签 [javasound]

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.

0 投票
1 回答
1380 浏览

java - Java 录音和混音器设置

我在无线电数据模式解码程序中使用 javax.sound.sampled 包。要使用该程序,用户将无线电接收器中的音频输入到 PC 的线路输入中。用户还需要使用他们的混音器程序来选择线路输入作为录音输入。问题是一些用户不知道如何做到这一点,有时其他程序也会改变录音输入设置。所以我的问题是我的程序如何检测线路输入是否设置为录音输入?如果我的程序检测到录音输入设置不正确,是否可以更改它?

谢谢你的时间。

伊恩

0 投票
5 回答
27893 浏览

java - 在没有临时文件的Java中将音频流转换为WAV字节数组

给定一个包含压缩格式(例如 MP3 或 OGG)的音频数据的调用,我希望创建一个InputStream包含输入数据的 WAV 转换的数组。不幸的是,如果您尝试这样做,JavaSound 会给您以下错误:inbyte

我设法通过将 wav 写入临时文件,然后将其读回来使其工作,如下所示:

这显然不太理想。有没有更好的办法?

0 投票
3 回答
7428 浏览

java - JavaSound 使用流写入音频文件

我正在尝试使用 JavaSound API 创建音频过滤器来读取和写入音频文件。目前我的代码结构如下:

这会将输入文件作为流读取,对其进行处理并将其写入字节数组输出流,但它会等到整个文件处理完毕后再写入磁盘。理想情况下,我希望它在处理每个样本时将其写入磁盘。我已经尝试了几种流结构的组合,但找不到一种方法,因为 AudioSystem.write() 需要输入流。有任何想法吗?

0 投票
4 回答
4518 浏览

java - 如何在 Java 中对多声道声音输入进行采样

我意识到这可能是相对利基的,但也许这就是为什么无论如何都可以问这个问题的原因。我正在寻找一个硬件多输入录音控制台(例如 Alesis IO 26)来接收一个 Adat 光管 8 通道输入来进行信号处理。由于我还没有购买该设备并且需要确定这是否可行(预算问题),我想问一下是否有人有使用 Java 中的所有这 8 个输入数据的经验?我已经看到了大量使用 Javax.sound.sampled 库录制声音的示例,但我找不到任何超过 2 的多通道信息。我感兴趣的是将 8 个通道单独作为单声道源进行采样对它们执行一些简单的 DSP。硬件设备会被视为一个混音器吗?8个通道被表示为8条线?我希望我的术语是正确的。

如果有人可以向我指出任何相关信息,我将不胜感激。谢谢!

0 投票
4 回答
11346 浏览

java - 使用java声音实时操作音频和绘制波形

我目前正在开发一个应用程序,可以帮助用户调整他的吉他并生成吉他效果。这是实时的。我一直在寻找可以提供生成吉他效果(例如过载和延迟)的想法的 Java 应用程序,但我找不到任何东西。还需要实时创建波形的来源。您的评论会很有帮助,在此先感谢。

0 投票
6 回答
15532 浏览

java - 如何等待 java 声音剪辑完成播放?

我正在使用以下代码使用 java 声音 API 播放声音文件。

Clip.start() 方法的方法调用立即返回,系统在后台线程中播放声音文件。我希望我的方法暂停,直到播放完成。

有什么好的方法吗?

编辑:对于所有对我的最终解决方案感兴趣的人,根据 Uri 的回答,我使用了以下代码:

0 投票
19 回答
9711 浏览

java - Java Sound API 在您的计算机上找到哪些输出和录音端口?

我正在使用Java Sound API,事实证明,如果我想调整录音音量,我需要对操作系统暴露给 Java 的硬件进行建模。事实证明,呈现的内容多种多样。

因此,我谦虚地要求任何能够帮助我在他们的计算机上运行以下内容并发回结果的人,以便我可以了解那里有什么。

提前感谢任何可以提供帮助的人:-)

应用程序所做的只是打印出一行关于操作系统、一行关于 JVM 以及几行关于发现的可能与记录硬件有关的硬件的行。例如,在我工作的 PC 上,我得到以下信息:

操作系统:Windows XP 5.1/x86 Java:1.6.0_07(Sun Microsystems Inc.)

0 投票
1 回答
20712 浏览

java - Trouble playing wav in Java

I'm trying to play a

file as described here (1) and here(2).

The first approach works, but I don't want to depend on sun.* stuff. The second results in just some leading frames being played, that sounds more like a click. Can't be an IO issue as I'm playing from a ByteArrayInputStream.

Plz share your ideas on why might this happen. TIA.

0 投票
4 回答
6048 浏览

java - Java AudioSystem 和 TargetDataLine

我正在尝试从我的 PC 的线路中捕获音频,为此我正在使用AudioSystem类。静态 AudioSystem.write 方法有两种选择之一:写入文件或写入流。我可以让它写入文件就好了,但是每当我尝试写入流时,我都会抛出 java.io.IOException (未指定流长度)。至于我的缓冲区,我使用的是 ByteArrayOutputStream。我应该在其他地方使用或弄乱另一种流吗?

同样在相关主题中,可以通过调用read直接对 ( TargetDataLine ) 中的音频线进行采样。这是进行音频捕获或使用 AudioSystem 的首选方式吗?

更新 请求的源代码:

0 投票
4 回答
28628 浏览

java - 从 Java 中加入两个 WAV 文件?

在 Java 1.6中连接两个WAV文件的最简单方法是什么?(相同的频率和所有,没有什么花哨的。)

(这可能很简单,但我的Google-fu今天在这个问题上似乎很弱。)