Я считываю емкостные датчики с помощью Arduino, и номер затронутого датчика передается в Processing, на данный момент это всего 1 или 2.
В процессе обработки я пытаюсь воспроизвести видео в зависимости от номер полученного датчика. Мне нужно иметь возможность переключаться между разными видео во время воспроизведения, после его завершения, и если будет нажат тот же номер, видео должно вернуться к началу.
Это код в обработке
import processing.serial.*;
import processing.video.*;
Movie video1, video2;
Serial port;
char in;
char previousIn;
boolean playing = false;
//float time = 0;
void setup() {
fullScreen(JAVA2D);
frameRate(25);
video1 = new Movie(this, "redFIN.mp4");
video2 = new Movie(this, "greenFIN.mp4");
port = new Serial(this, Serial.list()[0], 9600);
}
void movieEvent(Movie m) {
m.read();
}
void draw() {
if ( port.available() > 0) { // If data is available,
in = char(port.read());
print(in);
}
if (in == '1') {
video1.play();
video2.stop();
in = previousIn;
if (in == previousIn) {
video1.jump(0);
}
}
image(video1, 0, 0, width, height);
if (in =='2') {
video2.play();
video1.stop();
in = previousIn;
if (in == previousIn) {
video2.jump(0);
}
}
image(video2, 0, 0, width, height);
}
На данный момент я могу переключаться между видео, но только с фильма1 на фильм2, при возврате от фильма2 к фильму1 я получаю звук из фильма1, но он продолжает отображать последний кадр фильма2 .
Я был бы признателен за любое понимание, почему это происходит.