Pull to refresh

Реализуем мечту об идеальном плеере с Qt Quick на перевес!

Reading time4 min
Views4.1K

Предыстория


Все мы любим послушать музыку. Все мы для этого пользуемся устройствами/приложениями для её прослушивания. У кого-то это Winamp или стандартный медиа-плеер Windows, а у кого-то плеер на мобильном телефоне или вовсе отдельный mp3-шник.

Но есть у всех проигрывателей одна общая неприятная черта — перегруженность всяким ненужным хламом, забитость интерфейса, куча нарисованных иконок, эквалайзеров и прочего прочего… Самое интересное, что весь этот дополнительный функционал практически никак не влияет на комфортность прослушивания и управления собственно музыкой. В общем мрак. И это меня всегда удивляло, неужели разработчики этих плееров сами никогда ими не пользовались? Это же невозможно! Нафига мне 150 визуализаций и столько же параметров эквалайзера? На кой ляд делать непонятные интерфейсы? Кто вообще этим душевно больным людям доверил писать софт?

Всё что я хочу от проигрывателя музыки я нашёл лишь в одном плеере — Amarok 1.x, ныне Clementine. А именно:
  • Легкое управление листами — дайте мне простоту переключения между листами, зачем вы запихиваете этот интерфейс куда-то в всплывающие списки?
  • Простая работа с файлами на диске — я не хочу создавать глупую библиотеку музыки из файлов, теги которых никто не старался заполнить!
  • Очередь воспроизведения — это вообще гениально. Не надо таскать композиции по всему длинному листу к определённой позиции и затем переключаться между случайным и линейным воспроизведением — просто отмечаем песни которые хотим послушать после текущей и всё!
  • Отсутствие всего лишнего — на первом месте текущий список воспроизведения в котором легко ориентироваться и искать музыку, а также управлять самим листом
  • Нормальная скорость работы

Всё! Всё остальное — Это лишь дополнительный функционал, спрячьте его от меня, уберите с главного экрана и не отвлекайте моё внимание! В общем, простота — наше всё.

Собственно для Desktop в своё время я нашёл воплощение мечты и прослушивание музыки для меня превратилось в сплошное удовольствие. Что же касается прослушивания музыки к примеру в дороге со своей Nokia на s60 — вот это уже самая настоящая каторга. Стандартный проигрыватель не умеет определять нажатие по кнопке на гарнитуре, скрывает список воспроизведения где-то далеко, хотя конечно выглядит прикольно. Второй вариант — хвалёный powerMP3 — выглядит как конфетка. имеет кучу скинов, умеет получать сигнал от гарнитурной кнопки и даже (кто бы мог подумать) блокировать клавиатуру. На вопрос «Зачем?» он ответить не в силах. остальные плееры для симбы так и вообще не заслуживают внимания, ибо УГ.

А что если...


Короче говоря, я плюнул, сел и накропал прототип прогрывателя который бы подходил под мои требования. В данный момент он умеет не очень многое из перечисленного, да и выглядит неказисто, но всё чему я его научил я постарался сделать максимально удобным.

Давайте начнём знакомство? Начнём пожалуй с описания принципа работы самого проигрывателя. Главный экран приложения представляет собой текущий список воспроизведения с каплей средств управления сверху и снизу экрана. Выглядит в данный момент совсем просто:
image

Здесь сверху, слева на право: кнопка добавления песен в список, название списка, включение режима редактирования списка.

Далее идёт сам список со всеми композициями, слайдер для указания позиции воспроизведения и кнопки управления воспроизведением — предыдущая композиция, играть/пауза, следующая, переключатель линейного/случайного воспроизведения. Индикатор громкости появляется на несколько секунд только в момент его изменения через физические кнопки устройства.

При нажатии на кнопку добавления песен — открывается простой браузер файлов, позволяющий выбрать необходимые композиции и добавить их. После перехода в режим редактирования, пользователь получает в своё распоряжение функции удаления композиций из текущего списка, а также собственно возможность редактирования и удаления всего списка и добавления нового.

Интересным образом так же скрыты остальные списки воспроизведения — для переключения на них, следует водить пальцем вправо/влево по экрану, в то время как для прокрутки композиций следует им же выодить сверху вниз и наоборот. Собственно сами списки воспроизведения автоматически сохраняются после изменения на диске и после запуска программы всё аккуратно восстанавливается. Чтоб стало более понятно, советую глянуть видео (не обращайте внимание на тормоза,Windows на машинке ужасно тормозить начал, всё никак руки не дойдут)



Собственно говоря, по видео думаю сразу становится понятным, на что именно я делал упор при разработке. Это удобство личного использования. Чтобы работал кейс — достал мобилку из кармана, быстренько сменил песню или даже плейлист, убрал в карман — наслаждаюсь дальше. А если появилась свободная минутка — сел, максимально быстро составил новый список воспроизведения (добавлять можно как отдельные файлы так и целые каталоги) и тут же начал его слушать, не отвлекаясь ни на что другое.

Единственный момент, который меня угнетает — это интерфейс приложения. Так как ничего интереснее я придумат ьпросто не в состоянии.

Добавить то и нечего...


Да, действительно нечего, программа вышла мелкой, но удобной. В данный момент есть ещё над чем поработать — например никак не выходит получить сигнал от кнопки на гарнитуре. Кроме того пока не реализована очередь воспроизведения, но в остальном мне нравится то что теперь не нужно искать что-то по огромным всплывающим меню, достаточно лишь пары взмахов пальцами.

написано приложение было на Qt Quick/C++ примерно за неделю (по часу-полтора вечерком после учёбы). Большая часть которой ушла на C++ часть, так как нужно было реализовать модели хранения данных и найти для этого лучшее решение. Часть же на QML была как обычно самой простой.

Исходники можно взять вот здесь. К сожалению собранной версии сейчас показать не могу SDK начал жутко глючить… В остальном, хотелось бы услышать мнение — действительно ли плеер такого формата будет удобен для пользователя? Спасибо.
Tags:
Hubs:
-5
Comments13

Articles

Change theme settings