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




Можно, но это не будет мультиплатформенностью. Был бы больше нативный плагин