Курсовой проект: Аудиоплеер для Aurora SDK (Sailfish Silica)

1. Цель

Разработка мобильного приложения на Aurora SDK для загрузки, хранения и воспроизведения аудиофайлов с удобным интерфейсом.

2. Технологии

  • QML (Sailfish Silica) - UI
  • C++/Qt - бизнес-логика и медиатека
  • Qt Multimedia - воспроизведение аудио и чтение метаданных
  • QSettings + JSON - локальное хранение состояния и списка треков

3. Реализованный функционал

3.1 Импорт и управление аудиофайлами

  • Сканирование локальных папок Music и Downloads
  • Поддержка форматов MP3 и WAV
  • Чтение метаданных: title, artist, duration
  • Обновление медиатеки через меню Rescan files

3.2 Медиатека

  • Список треков на главном экране
  • Сортировка по названию и исполнителю
  • Отображение длительности треков

3.3 Воспроизведение

  • Play / Pause / Stop
  • Переключение Previous / Next
  • Перемотка трека через слайдер
  • Отображение текущего прогресса и длительности

3.4 UI (Silica)

  • Экран медиатеки: qml/pages/LibraryPage.qml
  • Экран плеера: qml/pages/PlayerPage.qml
  • Cover для фонового режима: qml/cover/CoverPage.qml

3.5 Фоновый режим

  • Воспроизведение продолжается при сворачивании
  • Управление из cover (Play/Pause, Next)

4. Архитектура

  • UI-слой (QML): экраны, списки, элементы управления
  • Логика (C++):
    • TrackLibraryModel - сканирование, метаданные, сортировка, хранение списка
    • AudioController - управление воспроизведением
  • Модуль аудио: QMediaPlayer (Qt Multimedia)
  • Хранилище:
    • список треков в JSON (AppDataLocation/tracks.json)
    • последний трек и позиция в QSettings

5. Структура проекта

harbour-coursework.pro
src/
  main.cpp
  tracklibrarymodel.h/.cpp
  audiocontroller.h/.cpp
qml/
  harbour-coursework.qml
  pages/LibraryPage.qml
  pages/PlayerPage.qml
  cover/CoverPage.qml
README.md

6. Сборка (в Aurora/Sailfish SDK)

  1. Открыть проект harbour-coursework.pro в Sailfish/Aurora IDE.
  2. Выбрать целевой kit устройства/эмулятора.
  3. Выполнить сборку и запуск.