问题标签 [javax.sound.sampled]
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
我确实需要你的帮助。如何调整以下代码以向后播放 .wav 文件?
任何帮助将不胜感激..谢谢。卡洛斯
java - 使用 Java Sound 和 MP3SPI 流式传输某些 mp3 的问题
我正在使用 Java Sound libaray 用 Java 编写一个应用程序,它可以让我将音乐从我的个人图书馆流式传输到我正在使用的任何计算机上。进行得顺利。我已经成功流式传输 mp3,偶尔会出现破解或流行音乐。但是,在我的一个测试文件中,我经常遇到经常走走停停的行为。
对我来说,这表明我未能足够快地将数据放入 SourceDataLine 并且它正在下溢。我试过的一切都没有解决这个问题。我想知道这是否与我如何开始获取数据字节有关,所以我发布了我正在使用的方法。可以在这里找到。我说的方法是顶盒。我已经对其进行了修改,以便获取数据,使用套接字通过网络发送数据,并将其写入客户端的正确线路。
关于可能导致这种情况的任何想法?我已经尝试阅读音频文件,但我并没有真正在导致这种情况的原因上取得任何进展。提前致谢。
java - Java 语音聊天 - 混合输入数据以用于单个输出
我正在尝试编写一个 Java 语音聊天应用程序,并且已经实现了回声功能,但是在尝试连接多个客户端时,我被卡住了。我知道您不能在不混合数据的情况下遍历套接字并将数据发送给所有连接的人。(我已经尝试过了,这听起来不像它应该的那样)。我不太确定该怎么做,我正在使用一个非常简单的字节缓冲回显服务器作为服务器(我想在其中执行混音)。我还有一个客户端,它接受麦克风输入,将其发送到服务器,从服务器获取数据,然后从扬声器中播放该数据。
注意:客户端由 2 个类(Program 和 SoundReceiver)组成。我正在使用 javax.sound.sampled 库。
回声服务器: http: //pastebin.com/c9KiaTpJ
客户端程序类: http: //pastebin.com/v24CYwXE
客户端 SoundReceiver 类: http: //pastebin.com/2tt0Jucv
基本上,我想将所有传入字节合并到一个字节数组中,同时保持每个人的声音都是完整的(就像一个 3 路电话一样)。
clojure - 在 Clojure 中停止线程声音循环
我有一个线程循环的声音剪辑:
问题是当我尝试杀死线程时:
它不会停止播放永远播放的剪辑。我发现阻止它的唯一方法是(.stop clip)
显式调用。我的问题:这样做的最佳/惯用方式是什么?我对 Clojure 很陌生,future
所以到目前为止我只进行了实验,但也许 anagent
更适合这种情况?
更新:鉴于该.loop
功能是非阻塞的(如下所述),我通过摆脱最初的来简化我的设计future
:
连同一个控制atom
:
我用它开始循环:
并停止它:
java - 连接两个 WAV 文件失败
我有这个简单的代码来连接两个 wav 文件。它非常简单,代码运行没有任何错误。但是输出文件有问题。生成的输出文件没有播放,令人惊讶的是它的大小只有 44 个字节,而我的输入文件“a.wav”和“b.wav”的大小都超过了 500Kb。
这是我的代码:
java - java AudioInputStream AudioSystem.write 到管道长度错误
尝试将我从库中获得的 AudioInputStream 传输到此过程:
通过
给我错误:
所以似乎需要指定音频流长度。这是一个 44.8 kHz 立体声 PCM 格式的音频,没有指定长度。我从图书馆得到这个,所以我不能修改他们的代码。我尝试从此流创建另一个 AudioInputStream,但找不到合适的长度。那么如何指定长度呢?
java - 如何在java中的套接字之间传递音频
我尝试在套接字之间传递音频,但它在客户端传递一次,而不是客户端停止工作。我认为我编写和发送的方式可能是错误的,请帮助我处理此代码以下是我的服务器代码:
以下是我的客户代码:
公共无效运行(){
这是从服务器接收到客户端的“音频”消息时需要运行的功能
java - 使用 Clip java 时出现 OutOfMemoryError
已解决:我解决了!!我必须在 netbeans ide 中增加我的项目属性的堆大小,而不是在 netbeans ide 配置本身
我有一个非常简单的游戏应用程序,我使用 javax.sound.sampled 包中的 Clip 对象播放背景音乐(几乎 9m 长和 8mb 大小的 mp3 格式文件)我将其转换为 wav 文件并它变成了 87mb >_<。我有用于按钮的小 wav 文件。问题是每次我终止程序时都会收到 OutOfMemoryError 。我制作了一个应用程序,该应用程序仅在您先单击长波文件后多次单击短剪辑,然后单击终止按钮结束它,然后我收到该错误时,才会模拟相同的问题。但是我不知道如何为其他人提供相同的 wav 文件来尝试测试这个样本
java - Java - 尝试使用 mp3plugin 播放 mp3 文件时出错
我正在编写一个音乐可视化器,并尝试使用 mp3plugin ( http://pscode.org/lib/mp3plugin.jar ) 在 java 中播放 mp3 文件。但是我遇到了一个错误,可能是由于我缺乏使用这个插件和编码音乐的经验。
我已经用各种 mp3 文件测试了这段代码,都存在同样的问题,我相信我可以有信心排除 mp3 文件有问题。
我的代码如下:
我得到的错误:
(请注意我编写的运行此代码的类实例称为 Run)
我的项目结构如下,包括插件文件:
java - Java AudioSystem:读取 32 位 Wav 文件
我正在读取 16 位和 24 位采样位深度的音频文件,并毫无困难地解析它们以确定它们的长度。但是,当读取 32 位文件时,我得到
32 位测试文件以与其他文件相同的方式手动编码(线性 PCM)。我想知道 AudioSystem 是否不支持 32 位 Wav,或者是否有解决方法。作为参考,这是我的课程:
感谢您的任何见解。