【发布时间】:2015-06-17 05:08:16
【问题描述】:
我正在尝试在 Processing(最新版本,3.0a10)的另一个类中创建 SoundFile 类型的实例。我可以轻松播放在类之外定义的声音,如下所示:
import processing.sound.*;
SoundFile clickSound;
void setup() {
size(600, 600);
clickSound = new SoundFile(this, "bike-passing-by.wav");
}
void draw() {
clickSound.play();
}
但是,当我尝试从类中创建 SoundFile 实例时遇到了麻烦。一个简化的例子是:
import processing.sound.*;
SomeSound fx;
void setup() {
size(600, 600);
fx = new SomeSound();
}
void draw() {
fx.play();
}
class SomeSound {
SoundFile clickSound;
SomeSound() {
clickSound = new SoundFile(this, "bike-passing-by.wav");
}
void play() {
clickSound.play();
}
}
我收到的错误是"The constructor SoundFile(soundTest.SomeSound, String) is undefined"。在 SoundFile 的处理参考中,它声明构造函数定义为 SoundFile(parent, path)。父参数应该是PApplet: typically use "this"。
因此,我尝试了许多选项来替换此行:
clickSound = new SoundFile(this, "bike-passing-by.wav");
我尝试将this 替换为super:
clickSound = new SoundFile(super, "bike-passing-by.wav");
和PApplet:
clickSound = new SoundFile(PApplet, "bike-passing-by.wav");
但只能设法产生不同的错误。任何有关如何解决此问题的建议将不胜感激。
【问题讨论】:
-
如何调用问题中必须提到的
setup()和draw()。 -
Processing 自动调用 setup() 一次,并在程序运行期间无限循环运行 draw()。
-
你这两个函数必须包含在同一个类中,否则它不能像你通常问的那样工作。我会用一种方法来回答。
标签: audio processing