Bonjour,
je cherche à lire deux audios différents mais différés de 5 secondes. Donc finalement il faut que j'appelle la première fonction qui me permet de lire le 1er audio puis la 2ème fonction (pour le 2eme audio) se lance 5s après.
J'ai d'abord essayé avec un "time.sleep()" classique mais forcément la lecture du 1er audio est arretée aussi alors que je veux qu'elle continue...
J'ai tenté ensuite avec le programme ci-joint, les lignes concernant le delai de 5s sont aux dernières lignes. Pourtant en le lançant, mes deux audios sont joués simultanément et non en différé malgré le "Timer". Est-ce que quelqu'un aurait une idée de l'erreur ? (ou du pourquoi du comment !)
Merci d'avance
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
29
30
31
32
33
34
35
36 import sounddevice as sd import soundfile as sf import threading import time Son1= 'audio1.wav' Son2= 'audio2.wav' def audioFunc(audio, nDevice): data1, fs1 = sf.read(audio, dtype='float32') L1=[] for i in range(50): L1.append(data1[i]) print(L1) sd.play(data1, fs1, device=nDevice) #LECTURE AUDIOS duration = len(sf.read(Son2)[0]) # duration of Son2 def start_audio1(): threading.Thread(target = audioFunc(Son1, 5)).start() def start_audio2(): while True: # infinite while-loop threading.Thread(target = audioFunc(Son2, 6)).start() # pause while-loop for duration of Son2 time.sleep(duration) #LECTURE DES AUDIOS DIFFERES DE 5 SECONDES start_audio1() delay=threading.Timer(5, start_audio2()) delay.start()
Partager