的SoundFile
構造函數需要傳遞到它的構造函數的PApplet
一個實例。
當您在草圖中時,可以使用this
關鍵字來指代PApplet
實例。
但由於您在Sound
班,因此您的this
關鍵字指的是Sound
實例。這就是你傳遞給構造函數SoundFile
的內容。 SoundFile
不知道你的Sound
類是什麼,所以你會得到那個錯誤。
要解決此問題,您必須將PApplet
實例傳遞給SoundFile
構造函數。
選項1:傳遞PApplet
實例爲您Sound
構造函數的參數,然後傳遞參數到SoundFile
構造。你Sound
構造可能是這樣的:
void setup(){
Sound yourSound = new Sound(this);
}
選項2:
Sound(PApplet sketch){
file = new SoundFile(sketch, "upNoise.wav");
}
然後在你的處理草圖,你會使用this
關鍵字通過PApplet
到您Sound
構造由於處理將所有類視爲內部類,也可以使用稍微奇怪的語法來引用「外部此」,方法是使用草圖的名稱,而不是從草圖中傳入this
:
Sound(){
file = new SoundFile(YourSketchName.this, "upNoise.wav");
}
但是,這是一個有點古怪,並不會在所有情況下工作,所以你可能會更好過只是路過this
從草圖。
更多信息可在the reference找到。
感謝第一個選項爲我工作! –