问题描述
又是我!
我希望我的背景亮度根据输出的声音而变化。我已经在 StackOverflow 上找到了 this post,但有几个问题:
- 我需要从桌面(例如 YouTube 或屏幕上发生的任何事情)实时获取声音。
- 背景颜色在变化,而不是单一颜色。
你帮了我很多in my other question。我知道我是初学者,可能很难修复我的代码。
谢谢,这是我的代码:
import processing.sound.*;
import java.awt.Robot;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.color.ColorSpace;
PImage screenshot;
Amplitude amp;
AudioIn in;
float ampt;
PImage photo;
void setup() {
fullScreen(2);
background(255);
amp = new Amplitude(this);
in = new AudioIn(this,0);
in.start();
amp.input(in);
}
void draw() {
screenshot();
ampt = amp.analyze();
float myColor = ampt*256;
tint((myColor),(myColor),(myColor));
background(extractColorFromImage(screenshot));
}
void screenshot() {
try{
Robot robot_Screenshot = new Robot();
screenshot = new PImage(robot_Screenshot.createScreenCapture
(new Rectangle(0,displayWidth,displayHeight)));
//screenshot.resize(width/4,height/4);
}
catch (AWTException e){ }
frame.setLocation(displayWidth/2,0);
}
color extractColorFromImage(PImage screenshot) { // Get average color
screenshot.loadPixels();
int r = 0,g = 0,b = 0;
for (int i = 0; i < screenshot.pixels.length; i++) {
color c = screenshot.pixels[i];
r += c>>16&0xFF;
g += c>>8&0xFF;
b += c&0xFF;
}
r /= screenshot.pixels.length; g /= screenshot.pixels.length; b /= screenshot.pixels.length;
return color(r,g,b);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)