SoundFile
Der Konstruktor erwartet eine Instanz von PApplet
in seinen Konstruktor übergeben.
Wenn Sie in einer Skizze sind, können Sie das Schlüsselwort this
verwenden, um auf diese PApplet
Instanz zu verweisen.
Aber da Sie in einer Sound
Klasse sind, bezieht sich Ihr this
Schlüsselwort auf die Sound
Instanz. Das übertrage man in den SoundFile
Konstruktor. Und SoundFile
weiß nicht, was Ihre Sound
Klasse ist, so erhalten Sie diesen Fehler.
Um dies zu beheben, müssen Sie die PApplet
Instanz in den SoundFile
Konstruktor übergeben.
Option 1: Übergeben Sie die PApplet
Instanz in Ihrem Sound
Konstruktor als Parameter, und dann diese Parameter in den SoundFile
Konstruktor übergeben. Ihr Sound
Konstruktor könnte wie folgt aussehen:
Sound(PApplet sketch){
file = new SoundFile(sketch, "upNoise.wav");
}
Dann in Ihrer Verarbeitung Skizze, können Sie die PApplet
in Ihr Sound
Konstruktor übergeben würden mit dem this
Stichwort:
void setup(){
Sound yourSound = new Sound(this);
}
Option 2: Seit Verarbeitung behandelt alle Klassen als innere Klassen, Sie könnten auch die etwas seltsame Syntax verwenden, indem Sie den Namen Ihrer Skizze verwenden, anstatt die this
Ihrer Skizze zu übergeben:
Sound(){
file = new SoundFile(YourSketchName.this, "upNoise.wav");
}
Aber das ist ein wenig seltsam und wird in allen Fällen nicht funktioniert, so sind Sie wahrscheinlich besser dran, nur vorbei this
in Ihrer Skizze.
Weitere Informationen finden Sie in the reference.
Dank der ersten Option für mich gearbeitet! –