2016-11-25 12 views
1

Processingスケッチのどの領域がクリックされたかによって再生するオーディオファイルを取得しようとしています。 soundFileに問題があり、最初の領域をクリックすると1つのファイルしか再生されません。処理中 - mousePressedに応じて異なるオーディオを再生する

sound libraryをインポートしましたが、構文エラーまたはディレクトリエラーがある必要があります。これは私が取得しておくのメッセージです:

Error: Soundfile doesn't exist. Pleae check path 
Could not run the sketch (Target VM failed to initialize). 
For more information, read revisions.txt and Help → Troubleshooting. 

はまず、それがif文の条件として、5種類のサウンドファイルをロードすることは可能でしょうか?ここ

コード:minimでこれを解決し

PImage img; // Declare variable "a" of type PImage  
import processing.sound.*; 
    SoundFile file; 


void setup() { 
    size(1475, 995); 
    // The image file must be in the data folder of the current sketch 
    // to load successfully 
    img = loadImage("PaceTaker.jpg"); // Load the image into the program 
} 

void draw() { 
    // Displays the image at its actual size at point (0,0) 
    image(img, 0, 0); 
} 
void mousePressed() { 
    if (mouseX>105 && mouseX<337 && mouseY>696 && mouseY<714) { 
    // Load a soundfile from the /data folder of the sketch and play it back 
    file = new SoundFile(this, "Heartbeatreg.mp3"); 
    file.play(); 
    stroke(0); 
    } 
    else if (mouseX>410 && mouseX<584 && mouseY>696 && mouseY<714) { 
    println("yikes2"); 
    stroke(0); 
    } 
    else if (mouseX>659 && mouseX<837 && mouseY>696 && mouseY<714) { 
    println("yikes3"); 
    stroke(0); 
    } 
    else if (mouseX>928 && mouseX<1065 && mouseY>696 && mouseY<714) { 
    println("yikes4"); 
    stroke(0); 
    } 
    else if (mouseX>1123 && mouseX<1397 && mouseY>696 && mouseY<714) { 
    println("yikes5"); 
    stroke(0); 
    } 
    else { 
    println("hello"); 
    } 
} 

答えて

2

。以下のコード:

PImage img; // Declare variable "a" of type PImage 
import ddf.minim.*; 
AudioPlayer player; 
Minim minim; 

void setup() { 
    size(1475, 995); 
    // The image file must be in the data folder of the current sketch 
    // to load successfully 
    img = loadImage("PaceTaker.jpg"); // Load the image into the program 
    minim = new Minim(this); 
    player = minim.loadFile("Heartbeatreg.mp3"); 
} 

void draw() { 
    // Displays the image at its actual size at point (0,0) 
    image(img, 0, 0); 
} 
void mousePressed() { 
    if (mouseX>105 && mouseX<337 && mouseY>696 && mouseY<714){ 
    if (player.isPlaying()) { 
     player.close();} 
    player = minim.loadFile("Heartbeatreg.mp3"); 
    player.play(); 
    stroke(0); 
    } 
    else if (mouseX>410 && mouseX<584 && mouseY>696 && mouseY<714) { 
    if (player.isPlaying()) { 
     player.close();} 
    player = minim.loadFile("Heartbeatflatline.mp3"); 
    player.play(); 
    stroke(0); 
    } 
    else if (mouseX>659 && mouseX<837 && mouseY>696 && mouseY<714) { 
    if (player.isPlaying()) { 
     player.close();} 
    player = minim.loadFile("Heartbeatsuperfast.mp3"); 
    player.play(); 
    stroke(0); 
    } 
    else if (mouseX>928 && mouseX<1065 && mouseY>696 && mouseY<714) { 
    if (player.isPlaying()) { 
     player.close();} 
    player = minim.loadFile("Heartbeatslow.mp3"); 
    player.play(); 
    stroke(0); 
    } 
    else if (mouseX>1123 && mouseX<1397 && mouseY>696 && mouseY<714) { 
    if (player.isPlaying()) { 
     player.close();} 
    player = minim.loadFile("Heartbeatfast.mp3"); 
    player.play(); 
    stroke(0); 
    } 
    else { 
    println("void click"); 
    } 
} 
2

mousePressed()のようなファイルを実際にロードしないでください。代わりに、すべてsetup()の中にロードして、必要に応じて参照してください。ここに例があります:

Minim minim; 
AudioPlayer songOne; 
AudioPlayer songTwo; 

void setup() { 
    size(1475, 995); 
    minim = new Minim(this); 
    songOne = minim.loadFile("SongOne.mp3"); 
    songTwo = minim.loadFile("SongTwo.mp3"); 
} 

void draw() { 
} 

void mousePressed() { 
    if (mouseX < width/2) { 
    songOne.rewind(); 
    songOne.play(); 
    } 
    else { 
    songTwo.rewind(); 
    songTwo.play(); 
    } 
} 
関連する問題