Похожие презентации:
Курсовая работа по дисциплине «Объектно-ориентированное программирование». Аудио-редактор
1.
Министерство науки и высшего образования Российской ФедерацииФГАОУ ВО «Южно–Уральский государственный университет (НИУ)»
Институт естественных и точных наук
Кафедра прикладной математики и программирования
КУРСОВАЯ РАБОТА
По дисциплине «Объектно-ориентированное программирование»
Аудио-редактор
Автор работы
студент группы ЕТ-112
Калашников А.Г.
Руководитель:
А.К. Демидов
Челябинск 2024
2.
Постановка задачиЦель задачи – разработать аудио-редактор для редактирования звуковых
файлов формата WAV (моно, без сжатия, PCM). Программа должна
обладать функционалом для визуализации звука, загрузки, разрезания,
удаления, добавления звуковых фрагментов и их микширования.
Объекты предметной области:
·
Звуковой файл – основной объект для редактирования.
Включает такие атрибуты, как длина, частота дискретизации,
битрейт. Поведение объекта связано с загрузкой,
редактированием и сохранением.
·
Кусок звука – часть звукового файла, который можно
выделить и отдельно обрабатывать (разрезать, удалить,
переставить или наложить на другой кусок).
2
3.
·Инструменты редактора:
Ножницы – инструмент для разрезания звука на куски.
Инструмент для удаления – удаляет выделенный кусок.
Инструмент для добавления звука – добавляет новый звуковой кусок из
внешнего файла.
Инструмент для микширования – накладывает один звуковой фрагмент на
другой.
Инструмент для реверса – изменяет направление воспроизведения
звукового куска.
Классификация объектов по структуре и поведению:
Звуковой файл – составной объект, содержащий звуковые куски и
метаданные (длина, частота дискретизации и т.д.). Поведение: загрузка,
сохранение, визуализация, проигрывание.
Куски звука – части звукового файла, которыми можно манипулировать
отдельно. Поведение: перестановка, микширование, реверсирование,
добавление, удаление.
Инструменты – объекты, изменяющие состояние звуковых кусков
(разрезание, добавление, микширование и т.д.).
3
4.
Иерархия классов4
5.
Иерархия классов5
6.
Иерархия классов6
7.
Особенности реализацииВ моей реализации я использовал двухуровневую архитектуру, в которой AudioEditor
управляет интерфейсом и событиями, а WaveformWidget инкапсулирует логику работы
с аудиоданными(загрузка, визуализация, редактирование, воспроизведение). Это
позволяет легко расширять функциональность и поддерживать проект, что соответствует
принципам ООП и архитектурным паттернам проектирования.
7
8.
Примеры работы программыОткрытие аудиофайла
8
9.
Примеры работы программыМаркеры на звуковой дорожке
9
10.
Примеры работы программыДобавление нот на таймлайн
10
11.
ЗаключениеВ ходе выполнения курсовой работы были выявлены
объекты предметной области и определена система классов
для них. После объектно-ориентированного проектирования
классы были реализованы на языке С++. Разработанный код
был проверен на контрольных тестах и в код были внесены
необходимые исправления. Для программы была
разработана документация, описывающая её установку и
использование. Таким образом, цель работы была
достигнута, задачи – решены.
11
Программирование