本文介绍了在处理中点击BPM代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试开发一个程序,该程序可以帮助我通过单击或点击按钮来查找歌曲的每分钟节拍。
我已经计算出,我需要一个动态数组来节省每次点击的时间(以毫秒为单位),每次都要在Arraylist的末尾添加一个新元素。
添加一定数量的元素后,求出所有元素的总和,除以列表中的元素数量,即可得出BPM。
我不太熟悉Arraylist,不知道是否有人可以帮助我实现这些步骤。
我将对此程序使用处理。
推荐答案
类似的内容?
ArrayList <Integer> diffs = new ArrayList<Integer>();
int last, now, diff;
void setup() {
last = millis();
}
void draw() {
}
void mouseClicked() {
now = millis();
diff = now - last;
last = now;
diffs.add(diff);
int sum = 0;
for (Integer i : diffs) {
sum = sum + i;
}
int average = diffs.size() > 0 ? sum/diffs.size() : 0;
println ("average = " + average);
}
实际上,如果您不需要访问每个条目,您甚至不需要数组列表.
int last, now, diff, entries, sum;
void setup() {
last = millis();
}
void draw() {
}
void mouseClicked() {
now = millis();
diff = now - last;
last = now;
sum = sum + diff;
entries++;
int average = sum/entries ;
println ("average = " + average);
}
这篇关于在处理中点击BPM代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!