Programme avec Pygame

Melodie23 -  
quent217 Messages postés 420 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je fais un stage en sciences cognitives et je suis un peut perdue car je dois coder mon expériences et je n’arrive pas à faire quelque chose ! J’ai une liste de sons ( des mots dit à l’orale) et j’ai fait une boucle pour que les participants entendent les sons un après l’autre avec un random.randint pour que ce soit aléatoire mais malheureusement mes sons ce superpose et je n’arrive pas à les faire ce suivre l’un après l’autre avec quelques seconde d’écart (3s)...comment faire ?

5 réponses

Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Bonjour,

Puisque tu as commencé à écrire du code et pour que quelqu'un puisse te conseiller, il serait bon que tu postes ce code ci-dessous en lui affectant le format ad hoc avec la balise
<>
.
0
Melodie23
 
<import pygame>
<import mixer>
<import pygame.mixer>
<import random>
<import np>

<pygame.mixer.init()>

<amitie=pygame.mixer.Sound("C:/Users/melod/Documents/FAC/Master 1 Sciences Cognitives/Stage/AUDIO/TRACKS/amitié.wav")>

<amour=pygame.mixer.Sound("C:/Users/melod/Documents/FAC/Master 1 Sciences Cognitives/Stage/AUDIO/TRACKS/amour.wav")>

<balle=pygame.mixer.Sound("C:/Users/melod/Documents/FAC/Master 1 Sciences Cognitives/Stage/AUDIO/TRACKS/balle.wav")>

<L=[amitie, amour,balle]>

<while len(L)!=0:>
 <i=random.randint(0,len(L)-1)>
 <sound=L[i]>
 <L[i]=L[len(L)-1]> 
 <sound.play(0,0)>
 <L.pop(len(L)-1)>



Voici ce que j'ai déjà effectuer en terme de codage ! :)
Merci pour le conseil même si j'ai pas réussie a le faire bien s'affiché
0
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Quand tu édites ton code, il y a en haut de la fenêtre d'édition la balise que je t'ai indiquée ;-)

Je modifie ton message...

PS : pour l'emploi de la balise, d'abord tu tapes le code, tu le sélectionnes puis tu utilises la balise.
0
Dragonflame777 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour

essaye de suivre une certaine logique dans ton code
enfin c est juste un conseil .
si tu déclare que tu as 100 point de vie et que tu perde 1 point de vie
il te reste donc 99 point de vie
simple suite logique
0
Melodie23
 
Je comprend bien, j'ai enlevé petit a petit les sons de la liste pour éviter qu'il soit par la suite ouvert encore une fois . Ce qui m'empêche d'avancer c'est que tous mes morceaux ce lancent en même temps ou plutôt la boucle continue son chemin bien avant que le son ouvert soit terminé ce qui induit que tout ce superpose.

J'aimerais trouver une ligne de code me permettant de demander a la boucle de s'effectuer seulement a chaque fin de lecture d'audio pour éviter ce chevauchement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
quent217 Messages postés 420 Date d'inscription   Statut Membre Dernière intervention   347
 
Bonjour,
vous une fois que vous avez lancé le son, vous pouvez utiliser get_busy() sur le resultat pour savoir si le son est terminé. Exemple :
import pygame.time

son = sound.play(0,0)
while son.get_busy():
    pygame.time.wait(100)
0