Annonce

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


#1 2015-12-02 21:59:31 Movie : Aucune image.

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Movie : Aucune image.



Bonjour smile

Je suis en train de faire un petit programme assez simple. Il s'agit de lire des fichiers vidéos, les uns après les autres de façon aléatoire. Tout fonctionne, si ce n'est que l'image est partie faire un tour au bistrot. Le son, lui, répond bel et bien à l'appel. Quelqu'un aurait une idée ?

Voici le code :

import processing.video.*;

int nombreSequences = 3;
Movie[] video = new Movie[nombreSequences];
int index;
float tempsSequence;
boolean impulsion = false;

void setup() {
  size(300, 151, P2D);
  frameRate(24);
  for (int i = 0; i < video.length; i++) {
    video[i] = new Movie(this, "test0" + i + ".mov");
    video[i].pause();
    println(video[i].duration());
  }
}

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

void draw() {
  background(0);
  bouclerVideos();
  image(video[index], 0, 0);
}

void bouclerVideos() {
  if (mousePressed) {
    impulsion = true;
  }

  while(impulsion) {
    index = int(random(-1, video.length));
    tempsSequence = video[index].duration();
    println("TS !!! : " + tempsSequence);
   
    video[index].jump(0);
    video[index].play();
    println("Lecture séquence n°" + index);
    while(video[index].time() < tempsSequence){
      //println("ça joue la séquence " + index);
    }
    println("CHANGEMENT SEQUENCE");
  }
}

Merci et bonne soirée !

Nota: les balises "code" ne semblent pas fonctionner… je préfère prévenir ;-)

Dernière modification par jojolaglaise (2015-12-02 22:03:49)

Hors ligne

 

#2 2015-12-03 12:58:36 Re : Movie : Aucune image.

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

Re: Movie : Aucune image.



Bonjour,

Dans ta méthode bouclerVideos() il y avait une boucle malvenue.
Pour l'utilisation de la souris il est simple d'utiliser les méthodes mousePressed(), mouseReleased() …
Ce sont des méthodes d'interruption, c'est-à-dire qu'elles sont appelées en dehors de la boucle principale dès qu'un évènement de la souris se produit.

J'ai mis les vidéos en boucle grâce à la méthode loop().

Voici ce que je te propose :

import processing.video.*;

int nombreSequences = 3;
Movie[] video = new Movie[nombreSequences];
int index;
float tempsSequence;

void setup() {
  size(300, 151, P2D);
  frameRate(24);
  for (int i = 0; i < video.length; i++) {
    video[i] = new Movie(this, "test0" + i + ".mov");
    video[i].pause();
    println(video[i].duration());
  }
}

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

void draw() {
  background(0);
  image(video[index], 0, 0);
}

void mousePressed() {
  video[index].pause();
  index = int(random(0, video.length));
  tempsSequence = video[index].duration();
  println("TS !!! : " + tempsSequence);
  video[index].jump(0);
  video[index].loop();
  println("Lecture sequence n " + index);
  println("CHANGEMENT SEQUENCE");
}

Hors ligne

 

#3 2015-12-04 00:20:12 Re : Movie : Aucune image.

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Re: Movie : Aucune image.



Merci beaucoup! smile
Mais j'ai du mal m'expliquer, en réalité, ce n'est pas cela que je recherchai à faire, je cherchais à automatiser le chargement aléatoire des vidéos. On clique une fois et hop! On laisse tourner le programme, sans avoir à cliquer. Les vidéos ne bouclent pas forcément sur elles même, on passe d'une vidéo à l'autre. Mais je m'y recolle, je pense que je suis près du but!

Une bonne soirée.

Hors ligne

 

#4 2015-12-08 19:17:28 Re : Movie : Aucune image.

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

Re: Movie : Aucune image.



Bonsoir,

Je ne sais pas si tu as réussi à te débrouiller, mais voici ma proposition :

import processing.video.*;

int nombreSequences = 3;
Movie[] video = new Movie[nombreSequences];
int index;
float tempsSequence;
boolean test;

void setup() {
  size(300, 151, P2D);
  frameRate(24);
  for (int i = 0; i < video.length; i++) {
    video[i] = new Movie(this, "test0" + i + ".mov");
    video[i].pause();
    println(video[i].duration());
  }
  test = false;
}

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

void draw() {
  background(0);
  if (test) {
    if ((video[index].duration() - video[index].time()) < 0.2) {
      changement();
    }
    image(video[index], 0, 0);
  }
}

void mousePressed() {
  if (!test) {
    changement();
    test = true;
  }
}

void changement() {
  index = int(random(0, video.length));
  tempsSequence = video[index].duration();
  println("TS !!! : " + tempsSequence);
  video[index].jump(0);
  video[index].loop();
  println("Lecture sequence n " + index);
  println("CHANGEMENT SEQUENCE");
}

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2025