Есть ли способ создать анимацию в Flutter, которая реагирует на звук? (например, как в цикле сна или круге, который реагирует на звук)

#flutter #animation #audio #interactive #flutter-animation

Вопрос:

Я хотел бы создать анимацию, которая реагирует на интенсивность или частоту (на самом деле не имеет значения, дело в том, что она реагирует на что-то) звука. Анимация должна плавно меняться при изменении интенсивности.

Хорошим примером является строка в нижней части приложения «Цикл сна». Он остается на экране, но когда частота и интенсивность звука меняются, линия становится более турбулентной, и пики появляются в разных местах вдоль линии.

Два скриншота приложения «Цикл сна»:

Снимок экрана цикла сна:

введите описание изображения здесь

Снимок экрана цикла сна, и строка отличается:

введите описание изображения здесь

Another possibility would be a circle on screen that is wiggly. The circle becomes bigger or smaller and the wiggles shift along the line of the circle.

Разница между этими видами анимации и учебниками по анимации флаттера/ответами на форуме заключается в том, что эти анимации не удаляются с экрана для отображения изменений. Многие учебные пособия или статьи используют осциллографы для создания анимации, реагирующей на звук. Проблема в том, что обычно это «волны», идущие либо слева направо, либо наоборот. Если будет тихо и кто-то вдруг закричит, волна, соответствующая моменту тишины, будет продолжать двигаться за кадром, в то время как новая большая волна, соответствующая крику, будет перемещаться с экрана на экран.

Кто-нибудь знает, как это можно сделать или, по крайней мере, указать правильное направление для поиска решения?