Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 2


|
Conversation (Résolue) : Question sample MediaPlayer |
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Quand on ouvre un fichier "file->open file", le fichier est ouvert mais la lecture n'est pas lancée automatiquement, il faut appuyer sur "Play".
Pourtant dans "DoOpenFile" le "DoPlayFile" est appelé.
Idem pour "Next" qui va bien au suivant, mais il faut faire "Play".
Je ne trouve pas. Quelqu'un a-t-il le même comportement ?
Dernière modification par Ded (16-09-2013 19:37:57)
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
Je viens de tester le MediaPlayer, et j'ai eu la même chose, à mons avis le play ne s'applique quand le fichier est en cous de chargment(loading) donc il faut appuiller sur le bouton play pour faire la lecture. Pour moi j'ai utiliser le timer pour resoudre cette error, et à partir de de ce timer qu'on lance l'action play.
|
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
Euh, je ne sais pas faire. Quelques détails ?
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne |
J'ai essayé de modifier le code dans le mediaplayer.cpp mais pour le moment l'evenent dans le Timer que j'ai jouter me donne des erreur.
Je t'explique un peut le principe du timer: -Le timer est acivé à partir du 'wxMediaPlayerFrame::OnMediaLoaded' -Dans le wxTimerEvent: On verifie le statut du m_mediactrl Voici donc le code:
Code Cpp: if(m_mediactrl->GetState()==wxMEDIASTATE_PAUSED) { m_mediactrl->GetState()->Play(); } if(m_mediactrl->GetState()==wxMEDIASTATE_PLAYING) { my_timer->Stop(); }
|
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Je crois que l'évènement 'wxMediaPlayerFrame::OnMediaLoaded' ne se produit jamais. J'ai ajouté un wxMessageBox pour tracer l'appel et il n'apparaît jamais. Après j'ai enlevé le connect de cet évènement et le MediaPlayer fonctionne sans !
Je continue à chercher...
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne |
le "wxMediaPlayerFrame::OnMediaLoaded" est dans le fichier example mediaplayer.cpp
|
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Oui, le code est là , mais il me semble qu'il n'est jamais appelé. ---------- J'ai trouvé une solution (maladroite) mais qui marche tant que le MessageBox est appelé. Si le message box est enlevé ça passe à stop.
Autrement je peux enchaîner les morceaux avec "Next".
Il faut ajouter au code de OnNext :
Code: switch((currentpage->m_mediactrl->GetState())) { case wxMEDIASTATE_PLAYING: break; case wxMEDIASTATE_STOPPED: break; case wxMEDIASTATE_PAUSED: break; default: // wxMessageBox(wxT("Other...")); currentpage->m_mediactrl->Play(); } Pourquoi ne pas afficher ce MessageBox peut-il interférer ? ---------- De la même manière on peut "fixer" l'erreur en modifiant la fin de DoOpenFile ce qui fait l'auto-load du morceau et Next. Mais reste toujours ce dialogue !!
Dernière modification par Ded (17-09-2013 16:58:24)
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne |
J'ai créé une nouvelle code, tu peut le télécharger ici:
http://www.4shared.com/rar/9jCacUDM/MediaPlayer.html
'MP3_player.exe' est la vrsion compilée.
Le principe pour la lecture automatique est commandé à partir du timer. Pour tester File->Open file ...
Par defaut l'application ouvre le ficher 'Funniest-YouTube.wmv'
|
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
J'arrive pas à télécharger le rar seul. J'obtiens un fichier exe que je ne veux pas exécuter. Il veut changer plein d'options sur mon browser.
y a-t-il un autre moyen de le récupérer ?
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
Ded (Membre)
Lieu: Grenoble (38)
Inscrit le : 09-09-2013
Messages: 41
Snippets: 0
Tutoriels: 0
Hors ligne |
Super !!! Je l'ai intégré au sample MediaPlayer avec juste Timer2 et... Ca marche au poil. Merci beaucoup, je n'y serais pas arrivé sans toi.
|
Code::Blocks 13.12 on Windows 7 (build 7601 service pack 1 64 bit edition). GNU GCC version 4.7.1 -std=c++11 Make version 3.82. wxWidgets 3.0.0 compiled shared=0 monolithic=1 unicode=1 build=release.
|
|