:: Оператор был введен в java 8 для ссылок на методы. Ссылка на метод - это сокращенный синтаксис выражения лямбда, который выполняет только один метод. Вот общий синтаксис ссылки на метод:
Object :: methodName
Мы знаем, что вместо использования анонимного класса мы можем использовать лямбда-выражения . Но иногда выражение лямбда - это просто вызов некоторого метода, например:
Consumer c = s -> System.out.println(s);
Чтобы сделать код более понятным, вы можете превратить это лямбда-выражение в ссылку метода:
Consumer c = System.out::println;
Вам повезло - это прекрасное время, чтобы заняться медиумом. Сейчас доступно множество новых мультимедийных платформ с открытым исходным кодом, вокруг которых формируются большие сообщества, что значительно упрощает запуск чего-либо.
Мне не известны какие-либо книги, посвященные аудиовизуализации, но я думаю, вам будет полезно прочитать более общие материалы по:
Если вы пишете плагин визуализации для медиаплеера, проблема обычно может рассматриваться как отображение FFT данных и время в пиксельном пространстве. Вы получаете время и данные БПФ почти бесплатно, так что остальная часть проблемы - это графическое программирование, визуальный дизайн, музыкальная чувствительность и воображение. То, как вы их комбинируете, в идеале будет вашим собственным.
Вы можете рассчитывать найти много полезной информации, инструментов, примеров и сообществ, связанных с любой из современных мультимедийных платформ с открытым исходным кодом:
Я бы порекомендовал сразу перейти на такую платформу, как processing.org, вместе с библиотекой, такой как minim, поиграть с примерами из комплекта и получить оттуда свои знания.
Существует довольно много книг по процессингу , если это соответствует вашему стилю обучения.
Если вы хотите быть в курсе, блоги вроде createdigitalmotion - отличный ресурс. Также обратите внимание на художников, таких как flight4040 и Memo Akten , которые используют эти фреймворки.
Надеюсь, что это поможет.