Problema reproduciendo multiples audios

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!

1 Like

Hola! Cuando quieres que suenen los distintos loops? Según entiendo, al recibir “0” quieres que se activen los 4 loops. Pero solo suena uno de ellos? Quieres que según el número recibide suene el loop 1, 2, 3 o 4, y los demás se detengan?

1 Like