Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// partage de liens //// une carte des membres//// (apéros) codelab


#1 2017-12-15 21:00:30 processing videos et images

findesession
nouveau membre
Date d'inscription: 2017-12-15
Messages: 2

processing videos et images



Bonjour!!
Je voudrais faire un programme dans OpenProcessing qui peut me permettre de faire jouer une video,  stopper la video,puis lancer une image,
à partir de la, pouvoir cliquer avec la souris, soit sur la gauche ou la droite de l’écran et cela entrainera la lecture d’une autre video et répéter l’action une deuxième fois.

Le problème que je rencontre c’est le fait de pouvoir mettre plusieurs videos indépendamment tout au long du programme sans qu’elles interfèrent entre elles et avoir toutes les actions demandées dans l’ordre.

aussi, comment ne pas mixer les modes static et active dans OpenProcessing ?


voici mon code :


import processing.video.Movie;

static final int QTY = 5;
final Movie[] movies = new Movie[QTY];
int idx;
PImage img;

void setup() {
  size(1440, 900);
 
  movies[0] = new Movie(this, "1-2.mp4");
movies[1] = new Movie(this, "3.mp4");
  movies[2] = new Movie(this, "4.mp4");
movies[3] = new Movie(this, "5.mp4");
movies[4] = new Movie(this, "6.mp4");

/*img0 = loadImage("CHOIX.jpg");
img1 = loadImage ("GAGNE.png");
img2 = loadImage ("PERDU.png");*/
}

void draw() {
  background(0);
  set(0,0,movies[idx] );
 
  movies[0] = new Movie(this, "1.mp4");
  movies[0].stop();
 
img = loadImage("CHOIX.jpg");
 
  clear();
    posX = mouseX;
    if(posX>windowWidth/2){
      movies[1] = new Movie(this, "2.mp4");
  movies[1].stop();
    }  else {
      movies[2] = new Movie(this, "3.mp4");
  movies[2].stop();
  }
    }

PImage img = loadImage("CHOIX.jpg");
 
  clear();
    posX = mouseX;
    if(posX>windowWidth/2){
      movies[3] = new Movie(this, "4.mp4");
  movies[3].stop();
    } else {
      movies[4] = new Movie(this, "5.mp4");
  movies[4].stop();
}

    }

Hors ligne

 

#2 2017-12-15 23:28:02 Re : processing videos et images

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 784

Re: processing videos et images



Bonsoir,

Il est assez difficile de comprendre ce que tu souhaites réaliser. Ton code est très confus ainsi que tes explications.
Si je comprends bien, la première vidéo est une introduction. Ensuite, une image apparaît et sur cette image on peut cliquer soit à droite soit à gauche pour lancer l'une ou l'autre video.

Pourquoi parles-tu d'OpenProcessing ? Souhaites-tu réaliser une application ou une page web ?
Openprocessing est un site affichant différents scripts créatifs.
Processing est un IDE et un framework.

Hors ligne

 

#3 2017-12-16 09:02:23 Re : processing videos et images

findesession
nouveau membre
Date d'inscription: 2017-12-15
Messages: 2

Re: processing videos et images



Bonjour!
Oui tu as bien compris le scénario, et je suis sur OpenProcessing car je pensais que c'était le logiciel dont j'avais besoin pour pouvoir loader mes images et videos mais si tu as autre chose en tete je suis la pour écouter!!
Je souhaiterais réaliser une application
Comment puis-je faire?

Hors ligne

 

#4 2017-12-17 11:08:34 Re : processing videos et images

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 784

Re: processing videos et images



Voila ce que j'ai imaginé suite au scénario proposé :

import processing.video.Movie;

static final int nombreVideos = 5;
Movie[] films;
Movie introduction, videoEnCours;
int indice;
PImage img0, img1, img2;

void setup() { 
  size(1440, 900);
  films = new Movie[nombreVideos];
  introduction = new Movie(this, "1.mp4");
  films[0] = new Movie(this, "2.mp4");
  films[1] = new Movie(this, "3.mp4"); 
  films[2] = new Movie(this, "4.mp4");
  films[3] = new Movie(this, "5.mp4");
  films[4] = new Movie(this, "6.mp4");

  img0 = loadImage("Choix.jpg");
  //img1 = loadImage ("GAGNE.png");
  //img2 = loadImage ("PERDU.png");
  indice = -2;
  introduction.play();
}

void draw() { 
  if (indice == -2) {
    image(introduction, 0, 0, width, height);
    if (introduction.time() == introduction.duration()) {
      indice = -1;
    }
  } else {
    image(img0, 0, 0, width, height);
    if (indice >= 0) {
      image(films[indice], 300, 150, 800, 600);
    }
  }
}

void mousePressed() {
  println(indice);
  if (indice > -2) { // Pas de detection dans la video d'introsuction
    if (mouseX < 300) {
      for (int i = 0; i < films.length; i++) {
        films[i].stop();
      }
      indice --;
      if (indice < 0) {
        indice = films.length - 1;
      }
      films[indice].play();
    }
    if (mouseX > 1100) {
      for (int i = 0; i < films.length; i++) {
        films[i].stop();
      }
      indice++;
      if (indice > films.length - 1) {
        indice = 0;
      }
      films[indice].play();
    }
  }
}

void movieEvent(Movie m) {
  m.read();
}

Dernière modification par Mushussu (2017-12-17 11:15:47)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2018