Tag: javasound

如何在人群区录制音频的同时用java删除背景噪音?

当我使用JavaSound或第三方声音捕获工具捕获并将其记录到文件中时。 之后再读取文件进行修改,有没有办法用我的java应用程序删除“背景噪音”。 主要人说话时道路交通/空气噪音等? 谢谢

声音没有在jar子里播放

我已将所有类文件和资源打包为jar但在执行时声音文件不会播放。 我的包结构是: +project |_classes |_ _*.class |_resources |_ _ *.jpg,*.wav 码: AudioInputStream inputStream = AudioSystem.getAudioInputStream(kidsClassRoom.class.getResourceAsStream(“../resources/”+file)); 执行此行时获取null !

在JButton上播放音频文件?

我已经在谷歌上看了一段时间,搜索如何播放音频文件,我发现的大多数来源都是使用java.applet.* ,但我正在寻找一种方法,我可以把它放在我的actionPerformed()方法。 public void actionPerformed(ActionEvent event) { if(event.getActionCommand().equals(“Play”)){ //Short Audio File Playing Here } }

getAudioInputStream()期间标记/重置exception

我发布了一个问题的解决方案(如下所述),但未能确认它是否解决了问题。 有Java 7的人可以尝试使用以下Applet并报告回来吗? 非常感谢。 AudioMixerDemo 报告给我的问题是,需要加载来自jarred资源的声音片段的顶行按钮不起作用。 该错误指向正在读取音频文件的行,并表示正在抛出“标记/重置”I / Oexception。 此代码适用于Java 6不适用于Java 7.违规声明如下: AudioInputStream ais = AudioSystem.getAudioInputStream( AudioMixer.class.getResourceAsStream(fileName)); 内部区域返回一个InputStream ,我认为这就是出现“可标记性”问题的地方。 Oracle的错误数据库报告该问题是向后兼容性问题,但优先级较低。 我已经记录如下: URL url = AudioMixer.class.getResource(fileName); AudioInputStream ais = AudioSystem.getAudioInputStream(url); AudioSystem API中没有提到此方法会抛出“标记/重置”I / Oexception。 所以,我很有希望。 但我无法证实这一点!

从原始文件中获取一些x字节的AudioInputStream(剪切音频文件)

如何将AudioInputStream读取到特定数量的字节/微秒位置? 例如 : AudioInputStream ais = AudioSystem.getAudioInputStream( new File(“file.wav”) ); // let the file.wav be of y bytes 现在我想获得一个AudioInputStream ,其数据高达x个字节的x < y字节。 我怎样才能做到这一点 ? 我一直在努力思考但没有办法做到这一点?

如何在java中获得混音器通道布局

我以为我可以在这个伟大的网站上找到任何东西,但现在我似乎面临着没有答案的问题:)请帮忙! 事实上,我需要播放6个不同的wav文件,每个文件有1个通道,由系统调音台支持的6个通道(左,右,左环绕等)。 使用6个不同的SourceDataLines看起来是合乎逻辑的但是从我看到的情况来看,Mixer不能为它们进行每个样本的同步,所以我想出了在单独的线程中交错它们并且只使用一个SourceDataLine来播放它。 它适用于左右两个通道,但对于更多通道,我需要知道精确的通道布局(差异系统和声卡可能不同)。 我认为系统调音台之一(我有两个:“线性输入”和“java音响系统混音器”)可能有这个元数据,但我找不到它。 有谁知道如何获得这些信息? 谢谢。

为什么这段代码不播放声音文件

代码 import javax.sound.sampled.*; import java.io.*; public class Tester { static Thread th; public static void main(String[] args) { startNewThread(); while( th.isAlive() == true) { System.out.println(“sound thread is working”); } } public static void startNewThread() { Runnable r = new Runnable() { public void run() { startPlaying(); } }; th =new Thread(r); th.start(); } public static […]

获得声音按钮的最佳方法按Java计算器?

我是一名学习Java的学生,正在为我的简历工作一个独立的项目。 我决定做一个Java计算器,因为我知道构成它的大多数组件。 我不知道怎么做的一件事是按下按钮添加声音。 对于Audiostream输入内容,我有一个模糊的想法。 但我的计算器上的每个按钮都需要独特的声音。 现在我的计算器还没有完全完成(听众还没有工作。)我只是想知道什么是将我的.wav文件合并到按钮按下的最佳方法。 提前致谢。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator { //instance variables JFrame frame; JPanel mainPanel, northPanel, southPanel; JTextField numberLabel; JButton backspace, multiply, divide, add, subtract, equal; //four function buttons JButton one, two, three, four, five, six, seven, eight, nine, zero; //number buttons JButton posOrNeg, decimal, leftParenthese, rightParenthese; […]

音频剪辑不会连续循环

任何人都可以指出我正确的方向为什么这段代码不会连续播放这个音频剪辑? 它只播放一次并停止播放。 final Clip clip = AudioSystem.getClip(); final AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File(“Alarm_Police.wav”)); clip.open(inputStream); clip.loop(Clip.LOOP_CONTINUOUSLY);

javax.sound.sampled.LineUnavailableException:我得到这个exception是什么?

由于调用以下方法: private void beep_player_1() { try { //clip_Player_2.close(); clip_Player_1 = AudioSystem.getClip(); ais = AudioSystem.getAudioInputStream(new File(Constants.Player1_Default_Tone)); // PATH FOR THE .WAV FILE clip_Player_1.open(ais); clip_Player_1.loop(0); // PLAY ONCE }catch(Exception exc) { System.out.println(exc); } } 抛出LineUnavailableException 。 这可能是什么原因? javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 44100.0 Hz, 24 bit, stereo, 6 bytes/frame, little-endian not supported.