![Веборама+Java](https://habr.com/images/px.gif#http%3A%2F%2Fimg130.imageshack.us%2Fimg130%2F9731%2F70840351.png)
Я уверен, что большинство пользователей habrahabr.ru проводит не малую часть своего времени слушая музыку.
Когда все старые песни уже изрядно поднадоели и хочется послушать чего-то нового на выручку приходят полезные веб-сервисы.
Существует множество веб-сервисов позволяющих слушать популярные композиции прямо с сайта, из них можно выделить вебораму, сайт-плеер.
Однако, эта статья не о том, на сколько удобно слушать и музыку на вебораме, она скорее поможет организовать свою коллекцию популярной музыки, используя яву и вебораму.
А дальше все очень интересно. Хотя веборама и является очень удобным сервисом для прослушивания музыки, она не позволяет скачивать музыку.
Как скачать музыку?
К счастью, никак — скачивание музыки с нашего сайта не предусмотрено. Зато ее можно слушать самим и радовать окружающих.
Итак, осталось определиться с тем, что будет уметь наша программа.
Ниже представлены основные особенности программы.
- Скачивание популярных композиция по жанрам.
- Скачивание песен по артисту.
- Поиск песен по данному запросу
- Программа должна пытаться найти артиста или песню, даже если дан не правильный запрос
- Все «Тяжелые» алгоритмы должны выполняться в отдельных потоках
С основным функционалом понятно, остались «Плюшки»
- ID3v1 (поддерживаются и ID3v2_2) теги
- Все mp3, у которых нет тегов удаляются при запуске программы
- Программа определяет, есть ли похожий трек в том же альбоме
- Программа умеет ограничивать количество одновременных скачиваний
- Программа должна предоставляться пользователю в виде установщика
Теперь о том, что нужно для реализации всего этого:)
- Java Development Kit — JDK
- Библиотека для добавления к mp3 файлам тегов — jid3lib
- Среда разработки — NetBeans IDE
- Программа для создания установщиков и лаунчеров — install4j
Вид главного окна программы
![Интерфейс программы](https://habrastorage.org/getpro/geektimes/post_images/c2c/4fa/829/c2c4fa829e0ba278ede0ed34d5795a5b.png)
Предоставление продукта пользователю
Предоставить обычному пользователю голый jar или jar + bat было бы не правильно, многие наверняка знают, сколько проблем может возникнуть с явой у обычного пользователя (да, да суперхаброчеловек). Ответ на проблему нашелся очень быстро — install4j. Кроме того, что install4j может создавать установщики и лаунчеры под MacOS, Windows, Linux, он также позволяет добавлять к установщику актуальную версию jre под windows, linux (для мака к сожалению такой опции нет).
Процесс сборки в install4j
![Build in install4j](https://habrastorage.org/getpro/geektimes/post_images/60e/b74/4d4/60eb744d46a2fe427823961ae2abe76e.png)
Таким образом мы получаем полноценную программу написанную на java, о чем пользователь может и не догадываться:)
Но как говориться в бочке мёда всегда найдется ложка дёгтя, для install4j это цена: 1119$ и 399$ с возможностью билда только под windows.
Скачать
Исходный код с файлами проекта NetBeans можно взять здесь.
Установщик для Windows забирают тут.
Сразу извиняюсь перед теми, кто рассчитывал увидеть в этой статье много кода. Статья совсем не про то.
upd.
Установщик под MacOS есть здесь, а под Linux тут.