022. Avalonia UI - Audio Service Provider
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 Визуализация данных • Данные визуализируются на экране. • Лофты умножаются на 0,9 для отображения полезных значений. • Планируется исправление значений при написании аудиокода. 27:15 Обновление пользовательского интерфейса • При запуске программы пользовательский интерфейс обновляется и меняется. • Все элементы интерфейса, кроме громкости, работают корректно. • Наблюдается медленное снижение реальных значений. 27:41 Настройка стрелки громкости • Необходимо сделать так, чтобы стрелка громкости двигалась плавно. • Планируется установить измеритель громкости на панели, которая будет двигаться вверх и вниз вместе с реальными значениями. • Стрелка будет двигаться как упругая пружина с задержкой, создавая эффект S-образной кривой. 28:37 Структура сервиса и модели представления • Важно структурировать сервис и модель представления для чистоты представления. • Не стоит тратить время на создание идеального интерфейса, если он не будет использоваться. • Сначала нужно убедиться, что интерфейс нравится, а потом совершенствовать его. • Не начинайте с идеально доработанного кода, чтобы не пришлось всё переделывать.
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 Визуализация данных • Данные визуализируются на экране. • Лофты умножаются на 0,9 для отображения полезных значений. • Планируется исправление значений при написании аудиокода. 27:15 Обновление пользовательского интерфейса • При запуске программы пользовательский интерфейс обновляется и меняется. • Все элементы интерфейса, кроме громкости, работают корректно. • Наблюдается медленное снижение реальных значений. 27:41 Настройка стрелки громкости • Необходимо сделать так, чтобы стрелка громкости двигалась плавно. • Планируется установить измеритель громкости на панели, которая будет двигаться вверх и вниз вместе с реальными значениями. • Стрелка будет двигаться как упругая пружина с задержкой, создавая эффект S-образной кривой. 28:37 Структура сервиса и модели представления • Важно структурировать сервис и модель представления для чистоты представления. • Не стоит тратить время на создание идеального интерфейса, если он не будет использоваться. • Сначала нужно убедиться, что интерфейс нравится, а потом совершенствовать его. • Не начинайте с идеально доработанного кода, чтобы не пришлось всё переделывать.
