用Java播放.mp3
我知道这个问题以前在这个网站上出现过,但我的问题有点偏离了它 我想在不使用外部Java库(如用Java播放.mp3,java,audio,mp3,wav,javasound,Java,Audio,Mp3,Wav,Javasound,我知道这个问题以前在这个网站上出现过,但我的问题有点偏离了它 我想在不使用外部Java库(如javafx的情况下播放.mp3文件。这可能吗?如果可能,你怎么做?我对库javafx没有任何异议,我只是想出于教育目的了解一下 我知道,使用javax库,您可以非常轻松地播放.wav文件 public void playSound() { try { AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new F
javafx
的情况下播放.mp3
文件。这可能吗?如果可能,你怎么做?我对库javafx
没有任何异议,我只是想出于教育目的了解一下
我知道,使用javax
库,您可以非常轻松地播放.wav
文件
public void playSound() {
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("D:/Music/test.wav").getAbsoluteFile());
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
} catch(Exception e) {
e.printStackTrace();
}
}
如果您只能使用此库播放
.wav
文件,为什么只有一种文件类型?这仅仅是开发人员的选择,还是在选择这种文件类型时有某种策略?与其他文件类型相比,访问.wav
文件是否有一些速度优势?据我所知,MP3受到专利限制,无法包含在标准编解码器中
这可能吗
除非Oracle在J2SE中为其提供SPI,如中所述。考虑到汤姆所解释的情况,我认为那是“永远不会”
如果您只能使用此库播放.wav文件,为什么只有一种文件类型
同样,请参见Wiki,了解如何获取J2SE提供内置支持的类型。有一个名为jlayer的简单库
有一个小型java库,提供所有源代码,并集成了支持mp3甚至MIDI文件的声音播放器。它非常容易使用,并且您拥有所有可用的代码。 如果您想尝试:
如果没有附加库,您将无法用Java播放mp3文件。 句号 但是,有许多不同的库支持Java mp3:
- 已经提到了JavaFX(Oracle开始将JavaFX与Java7捆绑在一起,因此很容易获得)
- ,似乎在2008年被放弃了
- 一些包装器,例如,通常需要您学习一个新的API,因为它们没有实现。您可以找到基于FFmpeg的项目列表
- -OSX和Windows的库。这是一个库的集合,它们在不同程度上实现了
(完全公开-我编写了它们)javax.sound.sampled.spi