Tag: audio

javax.sound.sampled.UnsupportedAudioFileException:加载wav文件时无法从输入文件中获取音频输入流

我正在使用java 6 ,我正在尝试加载wav文件,以获得其持续时间如下: public static double getAudioFileDuration(File file) { try { AudioInputStream stream = AudioSystem.getAudioInputStream(file); // At present, ALAW and ULAW encodings must be converted // to PCM_SIGNED before it can be played AudioFormat format = stream.getFormat(); if (format.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) { format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, format.getSampleRate(), format.getSampleSizeInBits(), format.getChannels(), format.getFrameSize(), format.getFrameRate(), true); // big endian […]

是否有用于mp4文件的Java API?

可以使用这个mp3 SPI支持处理Mp3文件,但我找不到与mp4文件类似的东西。 任何帮助,将不胜感激。 –update 我想要做的是获取文件的大小,就像使用此代码处理wave文件一样: AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file); AudioFormat format = audioInputStream.getFormat(); long audioFileLength = file.length(); int frameSize = format.getFrameSize(); float frameRate = format.getFrameRate(); float durationInSeconds = (audioFileLength / (frameSize * frameRate)); – 回答 以下是使用@mdma(IBM工具包)提示的答案代码: /** * Use IBMPlayerForMpeg4SDK to get mp4 file duration. * * @return the mp4File duration in milliseconds. */ public […]

在普通的Java应用程序中使用JavaFX MediaPlayer播放音频?

我需要能够在普通的Java项目中播放音频文件(MP3 / Wav)。 我更喜欢使用新的JavaFX MediaPlayer而不是JMF。 我写了一些代码来测试这个: public void play() { URL thing = getClass().getResource(“mysound.wav”); Media audioFile = new Media( thing.toString() ); try { MediaPlayer player = new MediaPlayer(audioFile); player.play(); } catch (Exception e) { System.out.println( e.getMessage() ); System.exit(0); } } 当我运行它时,我得到了exception:Toolkit未初始化 我知道这与JavaFX线程有关。 我的问题是,我该如何解决这个问题? 我是否需要创建一个JavaFX Panel才能在我的普通应用程序的后台播放一些音频文件,或者还有其他方法吗? 编辑:Stacktrace: java.lang.IllegalStateException: Toolkit not initialized at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:121) at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:116) at […]

用Java读取wav文件

我想用Java读取wav文件,我将用K-means对它们进行分类。 我如何读取Java中的wav文件并将它们分配到一个数组或类似的东西(你可以建议它的想法)来对它们进行分类? 编辑:我想使用API​​来读取wav文件和K-means。

利用Java中的FFT算法进行音频频谱分析

我想用Java(ME)分析音频文件的频谱。 我想像一些媒体播放器那样绘制频谱。 但我不明白一些观点: FFT算法的输入,我必须从音频文件中获取。 我现在不知道它叫什么,它是什么,更重要的是,我不知道如何得到它。 输出:如果输入是一个数组(范围?),我获得了其他数组,它的范围是:0-1,右(或不)? 那我和它有什么关系呢?

Java原始音频输出

只是想知道Java中是否存在像Python中的模块PyAudiere这样的库,它只是允许您创建音调并播放它们,就像这个示例Python代码: device = audiere.open_device() tone = device.create_tone(500) #create a 500hz tone tone.play() tone.stop() 这只是为您的默认声音设备分配一个变量,然后为该设备制作一个音调并播放它然后停止它。 这样的库是否易于使用? 我感谢任何反馈,谢谢! 😀

如何使用Java Sound中的音频样本数据?

这个问题通常被问到是另一个问题的一部分,但事实certificate答案很长。 我决定在这里回答它,所以我可以在其他地方链接到它。 虽然我不知道Java此时可以为我们生成音频样本的方式,但如果将来发生变化,这可能是一个适合它的地方。 我知道JavaFX有这样的东西,例如AudioSpectrumListener ,但仍然不能直接访问样本。 我正在使用javax.sound.sampled进行播放和/或录制,但我想对音频做些什么。 也许我想在视觉上展示它或以某种方式处理它。 如何使用Java Sound访问音频样本数据? 也可以看看: Java声音教程 (官方) Java声音资源 (非官方)