Bonjour,

Je travaille sur une BD interactive dans le cadre de mon projet tutoré de secondes années d'IUT multimédia. Je débute en Java.

Voici mon probléme. La dernière planche de ma BD doit "générer" une chanson en prenant en compte des paramétres affecté par le lecteur tout au long de l'hitoire. Pour générer cette chanson, le programme récupére 4 pistes audio (une guitare, une basse, une baterie et un piano). Je dois ensuite lancer ces 4 pistes pour ne former qu'une seule chanson. Seulement mon probléme est qu'il y a un léger décalage de quelques centiéme de seconde, et du coup ça rend vraiment pas beau.

Voici le contenu de mon code (simplifié pour les tests):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
public Planche46(String nom, boolean test)
	{
		choixSample();
		th1 = new Thread(this);
		th1.start();
	}
 
	/** cette méthode récupére les données
        * necessaire aux calculs pour selectionner
        * les samples des musiciens
        */
	public void ChoixSample()
	{
                         //divers calculs remplissant ses variables
		smpGuitare = "musiques"+File.separator+"guitare.mp3";
		smpBasse = "musiques"+File.separator+"basse.mp3";
		smpPiano = "musiques"+File.separator+"piano.mp3";
		smpDrum = "musiques"+File.separator+"drum.mp3";
	}
 
	public void run()
	{
		guitare = new Chargementduson (smpGuitare);
		basse = new Chargementduson (smpBasse);
		piano = new Chargementduson (smpPiano);
		drum = new Chargementduson (smpDrum);
	}
et le contenu de la classe Chargementduson:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
 Player lecteur;
 public Chargementduson(String son) // constructeur
 {
      File fichier = new File(son);
      try
      {
	lecteur = Manager.createPlayer(fichier.toURL());
      }
      catch (MediaException me) 
      { System.out.println("Probleme de chargement"); } 
      catch (IOException e)
      { System.out.println("Lecture du fichier son impossible"); }	
 
      lecteur.start();
}
voilà, comment faire pour que les pistes sont soient lancées vraiment simultanément (je tiens à dire que les enregistrement sont bien calées à l'aide de logiciel de traitement du son)

Merci de votre aide.