Так как я не получил ответа и не получил много отзывов по этому вопросу: Android Flutter Analyze Audio Waveform
и ничего не нашел в Интернете о том, что я ищу, я просто задам более широкий вопрос, так как комментарий к этому ответу сказал мне использовать нативный код и использовать канал платформы, чтобы соединить его с флаттером, но когда я спросил некоторые пояснения, я ничего не получил.
Итак, мой вопрос: могу ли я выполнять операции в Java (которая существует намного дольше и, следовательно, имеет гораздо большую документацию) , а затем использовать результат во Flutter.
Точнее, могу ли я сделать эти вещи на Java и Flutter:
1) Анализировать звуковую форму волны и находить пиковые точки на определенных частотах и использовать временную метку для отображения их в флаттере;
Редактировать 1:
Что такое пиковые точки?
Это форма волны различных частотных диапазонов (оранжевый - бас (80-255 Гц)), а точки, обведенные черным, являются пиковыми точками. Я должен проанализировать звуковой спектр песни и найти пиковые точки на определенных частотах. Затем, когда я найду пики, мне нужно сохранить метки времени, например, 16 секунд и т. Д.
2) Редактировать 2:
Мне нужно отредактировать несколько фотографий в видео, например, видео-коллаж, для которого каждый кадр видео 30 или 60 кадров в секунду является изображением.
3) Редактировать 3:
Мне нужно добавить к видео базовые эффекты, специфичные для кадра, например размытие, которое изменит кадр за кадром, или блики.
4) Добавление музыки к этому видео и сохранение его в mp4, avi или любом другом формате.
5) Редактировать 4: Самое главное, я не хочу делать все это в режиме реального времени, но больше похоже на процесс After Effect, такой как процесс рендеринга, в котором все кадры отображаются вместе. Единственное, что было бы неплохо, это своего рода индикатор выполнения, который сообщает пользователю, что рендер находится в кадре, например, 200 из 300, но я не хочу отображать ни один из кадров или видео, просто чтобы отобразить его. в фоновом режиме, а затем сохранить его в видео MP4, которое можно просмотреть после.
Как видите, это сложный процесс на языке, на котором вы вряд ли найдете учебник о том, как играть музыку, из-за его раннего состояния. Но Uis и некоторые другие вещи во флаттере гораздо проще сделать, и Флаттер также является мультиплатформенным. Поэтому я предпочитаю придерживаться языка флаттера.
Изменить 5:
Я взглянул на Qt и JUCE и обнаружил, что Qt кажется верной альтернативой, но, похоже, для того, что понимается скорее как «закрытая» система, я имею в виду, например, я смотрел мультимедийную библиотеку, но за то, что я понял, Вы можете делать базовые вещи, например, воспроизводить видео, но не создавать коллажи и сохранять их. (Не знаю, хорошо ли я объяснил). JUCE С другой стороны, выглядит лучше, но для ПК аудио VST кажется больше, чем для мобильных приложений, включая видео рендеринг. И еще одна вещь, что эти два не являются бесплатными и с открытым исходным кодом, как Flutter.
Тогда есть Kivy, который мог и не мог быть лучшим, потому что это порт Python для мобильных устройств, и у меня большой опыт работы с Python, и я думаю, что это один из самых простых языков для изучения, но на с другой стороны, он не обладает такой мощью пользовательского интерфейса. и, как вы упомянули, могут быть проблемы с использованием библиотек на Android.
Вы заявили, что я могу использовать C ++ или Java с Flutter, но с C ++ вы сказали, что это сложный процесс. Итак, у меня возник вопрос: могу ли я написать процесс в Java с помощью обычного приложения для Android и затем каким-то образом использовать функции в приложении Flutter?
Изменить 6:
Я нашел альтернативу:
Кха (http://kha.tech/). Но опять же ничего не нашел о том, как использовать его с Флаттером. Может ли это быть хорошей идеей?
Я прошу больше подтверждения о том, могу ли я использовать Java или любой другой язык, чтобы делать то, что мне нужно в приложении Flutter. И если да, если это сложно или не так много. (Я начинающий Сорта). Но некоторые уроки или ссылки для запуска кода также будут полезны!