【发布时间】:2018-04-09 02:29:08
【问题描述】:
我想在我的 java 程序中从一个 mp3 文件创建一个声波。我研究并发现,对于 wav 文件,我需要使用 AudioInputStream 并计算一个字节数组......从 mp3-File 我使用 JavaFX 媒体和媒体播放器。 Inputstream 中的字节与 Javafx media.getSource().getBytes() 中的字节是否相同? ? AudioInputStream 无法读取 mp3...
或者我应该如何获取声波的 mp3 文件的值?
来自 AudioInputStream 的字节:
AudioInputStream audioInputStream;
try {
audioInputStream = AudioSystem.getAudioInputStream(next);
int frameLength = (int) audioInputStream.getFrameLength();
int frameSize = (int) audioInputStream.getFormat().getFrameSize();
byte[] bytes = new byte[frameLength * frameSize];
g2.setColor(Color.MAGENTA);
for(int p = 0; p < bytes.length; p++){
g2.fillRect(20 + (p * 3), 50, 2, bytes[p]);
}
} catch (UnsupportedAudioFileException | IOException e) {
e.printStackTrace();
}
来自 JavaFX:
Media media;
MediaPlayer player;
media = new Media("blablafile");
player = new Mediaplayer(media);
byte[] bytes = media.getSource().getBytes();
【问题讨论】: