Bonjour à tous,
Dans le cadre d'un programme, j'ai besoin d'utiliser QThread pour jouer un son (avec une autre librairie que Qt).
Mais voilà, lorsque j'appelle une méthode de mon thread, l'application fait une erreur avec 'QObject::killTimers: timers cannot be stopped from another thread'.
Quelqu'un pourrait m'aider ? Merci d'avance.
Voici mon code :
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
37 /*NOTA: j'ai résumé le code concernant la gestion de la musique par un "MusicObject".*/ #include <QThread> //autre includes class MusicThread: public QThread { public: MusicThread(QObject* parent) : QThread(parent) { _music = new MusicObject; _note = 0; } //c'est lorsque j'appelle cette méthode depuis //la fenêtre principal que j'ai une erreur void noteOn(int n) { _note = n; } protected: void run() { while (1) { _music->setNote(_note); if (_note != 0) _music->process(); } } private: MusicObject* _music; int _note; };
Partager