Использование Qt 3D для визуализации музыки

Audio, QML, Qt, 3D, quick

Перевод официальной новости, автор Titta Heikkala

Так как идёт развитие Qt 3D модуля, Мы хотели бы предоставить его на проверку и тестирование того, как можно визуализировать музыку, используя этот модуль. Результатом этого эксперимента стал новый пример, Audio Visualizer Example, для Qt 3D модуля.

Пример показывает, как вы можете использовать Qt 3D rendering с элементами Qt Quick. 3D контент отрисовывается с использованием типа Scene3D. Колонки являются объектами в NodeInstantiator и они анимируются визуализацией величины амплитуды частот проигрываемой музыки. На верхнем слое сцены мы поместили кнопки pause/play и stop. Эти кнопки являются элементами Qt Quick. Музыка проигрывается с использованием MediaPlayer, который предоставляется модулем Qt Multimedia.

В этом примере имеется кривая линия, огибающая 3D объекты для отображения прогресса, основанного на длительности трека. Также имеется 3D призма, показывающая заголовок примера и песни. Призма показывает заголовок песни в то время, как песня проигрывается, а заголовок примера отображается, когда песня остановлена. Заголовки помещены на различные грани призмы и разворот призмы анимируется тогда, когда необходимо изменить заголовок.

Если желаете опробовать пример, то вы можете найти его на codereview.qt-project.org в примерах \qt3d\audio-visualizer-qml. Мы знаем, что всё ещё требуются улучшения производительности backend-части, чтобы сделать анимацию колонок более плавной, но так как Qt 3D является рассматриваемой технологией в предстоящем выпуске Qt 5.6, то скорее всего эти улучшения весьма вероятны.

Этот пример был создан, чтобы дать представление о том, что вы можете создать, используя Qt 3D.
Мы надеемся, что Вам понравится!

Источник Qt Blog

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
Support the author Donate

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

p
Feb. 17, 2020, 2:41 p.m.
pstMem

C++ - Тест 003. Условия и циклы

  • Result:85points,
  • Rating points6
z
Feb. 17, 2020, 6:02 a.m.
zet

C++ - Test 006. Enumerations

  • Result:80points,
  • Rating points4
z
Feb. 17, 2020, 5:49 a.m.
zet

C++ - Test 001. The first program and data types

  • Result:80points,
  • Rating points4
Last comments
Feb. 17, 2020, 3:22 a.m.
Evgenij Legotskoj

Добрый день. Это кастомный тег, помещается в файл, который находится в каталоге templatetags myapp/ templatetags/ myapp.py
B
Feb. 16, 2020, 1:36 p.m.
BahaMeirman

Добрый вечер! Монжно по подробней о теге get_companion? ссылка не работает.
Feb. 16, 2020, 9:35 a.m.
Evgenij Legotskoj

Добрый день. На GitHub исходники, можете посмотреть в официальном репозитории
B
Feb. 16, 2020, 9:29 a.m.
BahaMeirman

Здравстсвуйте Евгений, непонятно мне где эти исходники найти?
Now discuss on the forum
Feb. 22, 2020, 1:05 p.m.
BlinCT

Всем привет. Для моей приложухи требуется доступ к хедерам дял чтения данных, но к ним имеет доступ рут, без него чтение не происходит. Но как я слышал можно вроде через dbus или polki…
VZ
Feb. 21, 2020, 5:19 a.m.
Vladimir Zhitkovsky

void sendImage(int sessid, int type, int dest, int format, QString imgBase64Data){ QNetworkRequest request; request.setUrl(QUrl(ipAddress + "ctlapi/cmd=preparereportimg&sessid=…
Feb. 20, 2020, 2:40 p.m.
mkdir

Здравствуйте! Пишу игру - 2D платформер в среде Qt. Имею не очень много опыта в разработке. Подскажите, как можно реализовать ситуацию, где QGraphicScene больше, чем QGraphicView и надо двигать …
Feb. 20, 2020, 7:12 a.m.
Mihailll

Вот так похоже можно https://doc.qt.io/qt-5/qtpurchasing-index.html
IP
Feb. 20, 2020, 1:24 a.m.
Igor' Poroshin

QSqlQuery query("SELECT CONCAT("#", LPAD(HEX(`t`.RGB), 6, 0)) FROM table AS t");query.exec(); while (query.next()) { QColor(query.value(0).toString()); }
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB