Не берите в голову, я написал свое собственное небольшое приложение на Java.
Когда я нашёл это превосходное руководство, было совсем немного:
http://codeidol.com/java/swing/Audio/Build-an-Audio-Waveform-Display/
Хотя вы можете 'Не загружая исходный код с этой страницы (насколько я могу судить, хотя он дает понять, что вы должны это делать), он действительно предоставляет несколько очень полезных ключевых строк кода, которые позволяют легко составить загадку приложения.
Добавление немного помощи (легкий материал).Таким образом вы можете получить графический объект:
BufferedImage img = new BufferedImage (500, 100, BufferedImage.TYPE_INT_RGB);
Graphics2D gfx = (Graphics2D) img.getGraphics ();
И как только вы нарисуете все, что вам нужно, на GFX, вы можете сохранить его на диск всего одной строкой:
ImageIO.write (img, "jpg", new File ("waveform.png"));
Трудно заставить его выглядеть очень хорошо.Не выглядит так хорошо, как, например, Audacity.Думаю, они потратили на это больше времени, чем несколько часов.
Самая большая боль в этом заключается в том, что Java не поддерживает импорт MP3.Они действительно должны обойти это.
Так что, чтобы получить форму волны MP3, я сначала конвертирую их в WAV, используя "javazoom.jl.decoder.Decoder.java", это на их сайте.Очень прост в использовании, просто укажите путь ввода и путь вывода, и все готово.
javazoom dot net (не удалось опубликовать более одной «гиперссылки» на этом сайте)
Большойминусом этого является, конечно, необходимость создания огромного WAV-файла, и горе вам, если MP3 окажется 15 минут или около того ... WAV будет более 100 МБ (может быть, даже 200 МБ, неузнал, так как я получил ошибку Java «out-of-memory-error», хотя я дал VM 512mb).
Поддержка MP3 в Java сегодня, пожалуйста.Угадай, по какой причине их нет, из-за проблем с авторским правом.Авторское право действительно замедляет человека.