Bonjour,
J'ai r�alis� un programme de capture vid�o (qui fonctionne correctement), utilisant l'instruction API AVISaveV :
Comme la sauvegarde du fichier vid�o peut �tre longue (fichiers de plusieurs centaines de Mo), je voudrais ajouter une barre de progression pour faire patienter l'utilisateur.
Code : S�lectionner tout - Visualiser dans une fen�tre � part AVISaveV(vid_and_wavFileName.c_str(), 0, 0, 1, &aviStreamFinal, 0);
Pour ce faire, il me faut donc ajouter une fonction de callback durant l'execution de cette instruction AVI.
Voici le code que j'utilise :
Malheureusement, ce code ne fonctionne pas (ProgressBar inerte) : Selon la documentation Microsoft, "the nPercent parameter specifies the percentage of the file saved".
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 AVISaveV(vid_and_wavFileName.c_str(), 0, (AVISAVECALLBACK)SaveCallback(nPercent), 1, &aviStreamFinal, 0); LONG __stdcall TForm1::SaveCallback(int nPercent) { Form2->ProgressBar1->Position = nPercent; Application->ProcessMessages(); return(AVIERR_OK); }
Quelqu'un a-t-il une id�e concernant l'erreur que je fais ?
Une recherche sur Internet montre qu'au moins une dizaine de personnes ont but� sur cette difficult�, mais je n'y ai trouv� aucune solution propos�e.![]()
Partager