wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

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

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Question sample MediaPlayer
Conversation (Résolue) : Question sample MediaPlayer
16-09-2013 19:37:20  Question sample MediaPlayer #1
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.
17-09-2013 08:30:31  Re: Question sample MediaPlayer #2
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.
17-09-2013 08:37:18  Re: Question sample MediaPlayer #3
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.
17-09-2013 09:52:17  Re: Question sample MediaPlayer #4
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();
}
 
17-09-2013 11:02:35  Re: Question sample MediaPlayer #5
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.
17-09-2013 13:07:24  Re: Question sample MediaPlayer #6
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
17-09-2013 13:17:04  Re: Question sample MediaPlayer #7
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.
18-09-2013 11:26:15  Re: Question sample MediaPlayer #8
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'
18-09-2013 12:08:00  Re: Question sample MediaPlayer #9
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.
18-09-2013 13:24:00  Re: Question sample MediaPlayer #10
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne
Voici une autre lien:
http://mianatra.vacau.com/MediaPlayer.rar
18-09-2013 17:05:58  Re: Question sample MediaPlayer #11
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.
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Question sample MediaPlayer