Похожее видео
00:00 Начало работы со звуком Настройка звука в LUFs. Привязка пользовательского интерфейса Avalonia к звуковому коду. Планирование создания подвижного графика. 00:37 Очистка кода и объединение сервисов Удаление ненужного кода и очистка основного файла просмотра. Объединение службы захвата звука и интерфейса. Переименование объединённого сервиса в Сервис захвата звука. 02:21 Создание фиктивной модели Удаление фиктивного снимка и создание объединённого сервиса. Добавление идентификатора по умолчанию для фиктивных объектов. 03:10 Комментарии и документация Добавление комментариев к коду для улучшения документации. Перенос функций в службу захвата звука. 05:01 Оптимизация кода Удаление ненужных комментариев и очистка кода. Минимизация количества личных пользователей. 06:37 Инициализация службы захвата Инициализация службы захвата звука и начало записи. Обсуждение методов записи звука и обратного вызова. 08:31 Разделение ответственности Исключение службы захвата из модели основного вида. Привязка сервиса к модели представления. 10:04 Загрузка настроек и инициализация Асинхронная загрузка данных и настройка служб. Динамическое обновление размеров элементов управления. 12:05 Завершение инициализации Начало захвата звука после инициализации. Автоматическое начало записи. Предоставление опций запись и пауза. 13:11 Импорт файлов и настройка громкости Необходимо импортировать отсутствующие файлы. Нужно настроить громкость и обеспечить обратный вызов для отправки данных в viewmodel. 13:51 Раскрытие функций и документация Раскрываются публичные функции старт и стоп. Используются комментарии для документации наследуемые от интерфейса. 14:45 Обработка аудиоданных Создаётся обработчик для возврата изменённых звуков. Добавляется класс audio chunk data для хранения информации об одном фрагменте аудио. 15:53 Анализ громкости Добавляются кратковременные люфты и интегрированная громкость. Используется класс запись для хранения общедоступных свойств. 18:07 Организация обратного вызова Организуется обратный вызов для получения следующего фрагмента аудиоданных. Переименовывается метод захваченный фрагмент аудио. 19:17 Вычисление значений Вычисляется полезная информация из звукового фрагмента. Создаётся новый звуковой фрагмент для обработки данных. 23:08 Привязка данных к интерфейсу Данные по фрагменту аудио привязываются к пользовательскому интерфейсу. Привязываются кратковременная громкость и другие параметры. 24:29 Тестирование и корректировка Тестируется работа системы. Внедряется базовая служба захвата звука. Проверяется правильность привязки свойств. 26:30 Визуализация данных Данные визуализируются на экране. Лофты умножаются на 09 для отображения полезных значений. Планируется исправление значений при написании аудиокода. 27:15 Обновление пользовательского интерфейса При запуске программы пользовательский интерфейс обновляется и меняется. Все элементы интерфейса кроме громкости работают корректно. Наблюдается медленное снижение реальных значений. 27:41 Настройка стрелки громкости Необходимо сделать так чтобы стрелка громкости двигалась плавно. Планируется установить измеритель громкости на панели которая будет двигаться вверх и вниз вместе с реальными значениями. Стрелка будет двигаться как упругая пружина с задержкой создавая эффект S-образной кривой. 28:37 Структура сервиса и модели представления Важно структурировать сервис и модель представления для чистоты представления. Не стоит тратить время на создание идеального интерфейса если он не будет использоваться. Сначала нужно убедиться что интерфейс нравится а потом совершенствовать его. Не начинайте с идеально доработанного кода чтобы не пришлось всё переделывать.,
Похожее видео