如何使用Java将Wav文件转换为PNG波形图像文件? java MyProgram.class [path to wav file] [path where to write png file] 预期成绩: 保存在指定路径中的Png是传入的wav文件的波形。
我正在开发一个包含大量JButton对象的程序,我希望每个对象都有自己的.wav文件。 此外,我希望声音以某种方式工作,使得它们可以与其他按钮的声音重叠,但它不能与自身重叠(在播放声音时单击按钮将重新启动声音)。 我尝试使用一个Clip对象,但我无法完成上面所说的内容。 结果,我使用每个按钮声明一个新的Clip对象,但我觉得这对我的问题来说是一个相当低效的解决方案。 如何以最有效的方式完成我在第一段中所述的内容?
使用Java是否可以捕获扬声器输出? 此输出不是由我的程序生成的,而是由其他正在运行的应用程序生成的。 这可以用Java完成还是我需要求助于C / C ++?
只是想知道Java中是否存在像Python中的模块PyAudiere这样的库,它只是允许您创建音调并播放它们,就像这个示例Python代码: device = audiere.open_device() tone = device.create_tone(500) #create a 500hz tone tone.play() tone.stop() 这只是为您的默认声音设备分配一个变量,然后为该设备制作一个音调并播放它然后停止它。 这样的库是否易于使用? 我感谢任何反馈,谢谢! 😀
Java Sound为各种声音线function提供了FloatControl实例,并提供了MASTER_GAIN和VOLUME控件类型。 这些控件可以用来改变系统音量吗?
我正试着玩 PCM_UNSIGNED 11025.0 Hz, 8 bit, mono, 1 bytes/frame 文件如此处(1)和此处(2)所述 。 第一种方法有效,但我不想依赖sun.*东西。 第二个导致只播放一些领先的帧,听起来更像是一个点击。 因为我正在使用ByteArrayInputStream播放,所以不能成为IO问题。 Plz分享你为什么会发生这种情况的想法。 TIA。
这个问题通常被问到是另一个问题的一部分,但事实certificate答案很长。 我决定在这里回答它,所以我可以在其他地方链接到它。 虽然我不知道Java此时可以为我们生成音频样本的方式,但如果将来发生变化,这可能是一个适合它的地方。 我知道JavaFX有这样的东西,例如AudioSpectrumListener ,但仍然不能直接访问样本。 我正在使用javax.sound.sampled进行播放和/或录制,但我想对音频做些什么。 也许我想在视觉上展示它或以某种方式处理它。 如何使用Java Sound访问音频样本数据? 也可以看看: Java声音教程 (官方) Java声音资源 (非官方)
在Java中开始录制操作时,如何检测静音? 什么是PCM数据? 如何用Java计算PCM数据? 我找到了解决方案: package bemukan.voiceRecognition.speechToText; import javax.sound.sampled.*; import java.io.*; public class RecordAudio { private File audioFile; protected boolean running; private ByteArrayOutputStream out; private AudioInputStream inputStream; final static float MAX_8_BITS_SIGNED = Byte.MAX_VALUE; final static float MAX_8_BITS_UNSIGNED = 0xff; final static float MAX_16_BITS_SIGNED = Short.MAX_VALUE; final static float MAX_16_BITS_UNSIGNED = 0xffff; private AudioFormat format; private float […]
我写了一个简单的类来在一个简单的游戏中播放音频文件。 它适用于枪声或爆炸等小声音,但当我尝试将它用于背景音乐时,我收到此错误:“无法分配剪辑数据:请求的缓冲区太大。” 我假设这意味着文件太大,但我怎么能解决这个问题呢? 资源: import java.io.File; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; public class Sound{ private Clip clip; public Sound(String filepath){ System.out.println(filepath); File file = new File(filepath); try { clip = AudioSystem.getClip(); AudioInputStream inputStream = AudioSystem.getAudioInputStream(file); clip.open(inputStream); } catch (Exception e) { System.err.println(e.getMessage()); } } public void play(){ System.out.println(“play”); if(clip.isActive()){ clip.stop(); } clip.setFramePosition(0); clip.start(); } […]