Pb avec mciSendStringA pour lire une partie d'une video

MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 - 1 août 2006 à 18:20
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 4 août 2006 à 10:31
salut,

je cherche à lire une partie d'une vidéo en utilisant l'api mciSendStringA.

le probleme n'est pas la lecture, mais le fait qu'elle ne s'arrete pas à l'interval donné mais seulement à la fin de la video.


voici un code tres leger pour expliquer ma demarche :

Private Declare Function mciSendStringA Lib
"winmm.dll" (ByVal lpstrCommand As String, ByVal lpstrReturnString As
String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long


Private Sub Form_Load()

   mciSendStringA "open MPEGVideo!C:\test.avi alias myvideo", 0&, 0&, 0&

   Dim TDur As String * 128

   mciSendStringA "set myvideo time format frames", TDur, 128, 0&

   mciSendStringA "play myvideo from 0 to 300", 0&, 0&, 0&

End Sub


Private Sub Form_Unload(Cancel As Integer)

   mciSendStringA "stop myvideo", 0&, 0&, 0&

   mciSendStringA "close myvideo", 0&, 0&, 0&

End Sub

myvideo est l'alias que j'utilise pour le fichier utilisé, ce qui n'est pas comme je l'espere est en rouge

en fait, je veux lire par exemple de la premiere frame jusqu'a la frame
x et que la video s'arrete à cette frame x. mais ca ne s'arrete pas.

pourtant d'apres msdn (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_play.aspici),
il est possible de le faire. (je tiens à signaler qu'il s'agit d'une
video du type digitalvideo et que le resultat est le meme quelque soit
le fichier utilisé).

j'ai essayer avec un format de temps en millisecondes mais c'est pareil.


donc d'apres vous, y a-t-il une chose mal faitre ou oubliée dans ce code pour atteindre ce but ?


merci

2 réponses

MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 2
1 août 2006 à 18:40
de plus, le from x n'est pas en frames on dirait mais en millisecondes...

c'est bizard vu que msdn dit qu'une fois le time format est definit, c'est la base pour toutes les actions (play, seek ,etc...)

c'est pas clair ce truc, si quelqu'un sait....
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 août 2006 à 10:31
salut,
mciSendStringA te renvoie un long. regarde si ce retour est un code erreur (à récupérer avec mciGetErrorString)

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
Rejoignez-nous