Hola, estoy tratando de tener un código que me permita reproducir múltiples audios y controlarlos por un botón de arduino, y mantenerlos en loop. Hasta ahora logre hacer funcionar un audio, pero no logro agregar un segundo.
Processing
import processing.serial.*;
Serial myPort;
int val;
int x = 10;
import ddf.minim.*;
import ddf.minim.effects.*;
Minim minim;
AudioPlayer groove;
AudioPlayer groove1;
AudioPlayer groove2;
AudioPlayer groove3;
void setup()
{
size(200, 200);
String portName = Serial.list()[0];
printArray(Serial.list());
myPort = new Serial(this, portName, 9600);
minim = new Minim(this);
groove = minim.loadFile("04.mp3");
groove1 = minim.loadFile("01.mp3");
groove2 = minim.loadFile("02.mp3");
groove3 = minim.loadFile("00.mp3");
}
void draw()
{
if ( myPort.available() > 0) {
val = myPort.read();
}
background(255);
if (val == 0) {
fill(0);
groove.loop();
delay(20);
groove1.loop();
delay(20);
groove2.pause();
delay(20);
groove3.pause();
}
else {
groove.loop();
fill(204);
//x = 10;
// x = x+1;
}
rect(x, 50, 100, 100);
}
//////
y el de arduino
int ledPin = 13;
int switchPin = 4;
int switchPin2 = 5;
int switchPin3 = 8;
int switchPin4 = 9;
int incomingByte = 1;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(switchPin, INPUT);
pinMode(switchPin2, INPUT);
pinMode(switchPin3, INPUT);
pinMode(switchPin4, INPUT);
Serial.begin(9600);
}
void loop() {
if (digitalRead(switchPin) == HIGH) {
Serial.print(1);
digitalWrite(ledPin, HIGH);
}
else if (digitalRead(switchPin2) == HIGH) {
Serial.print(2);
digitalWrite(ledPin, HIGH);
}
else if (digitalRead(switchPin3) == HIGH) {
Serial.println(3);
digitalWrite(ledPin, HIGH);
}
else if (digitalRead(switchPin4) == HIGH) {
Serial.println(4);
digitalWrite(ledPin, HIGH);
}
else {
Serial.print(0);
digitalWrite(ledPin, LOW);
}
delay(100);
}
//////
si alguien me ayudara, seria genial!