AVI(Audio/Video)

hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008 - 29 août 2004 à 15:41
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008 - 29 août 2004 à 16:14
j'ai apris que AVI -> Audio / Video)

- j'ai un fichier video AVI dans lequel j'ai un stream video
- j'ai un fichier audio WAV dans lequel j'ai un stream Audio
-Je veu un fichier AVI avec un stream video et un stream audio.
comment on fait ?

bon moi , j'ai fais des essais , j'arrive a obtenir un fichier Avi avec un stream video OU un fichier AVi avec un stream audio , mais pas les 2 en meme temps .

voici mon code :

'Open video file
res = AVIFileOpen(pfileVideo, AviSortie, OF_READ, 0&)
If res <> 0 Then GoTo er

'open audio file
res = AVIFileOpen(pfileAudio, "c:\Jet.wav", OF_READ, 0&)
If res <> 0 Then GoTo er

'open audiostream
res = AVIFileGetStream(pfileAudio, pAVISTREAMAudio, 0, 0)
If res <> 0 Then GoTo er

'open videostream
res = AVIFileGetStream(pfileVideo, pAVISTREAMVideo, 0, 0)
If res <> 0 Then GoTo er

'enregistrement du AVI
res = AVISave(Nom, 0, 0, 1, pAVISTREAMVideo, 0)
If res <> 0 Then GoTo er

c'est ici que ca couille , dans la source de virtualDub ( en C) y arrivent a metre un tableau streams(x)

ca donnerai :

streams[0]=videostream
streams[1]=audiostream

res = AVISave(Nomdufichier, 0, 0, nbdestreams(soit 2),streams, 0)

mais moi je peu pas metre de tableau , et quand je veut metre 2 a la place de 1 stream , bah y'a erreur : " Espace pile insufisant"

merci.

2 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
29 août 2004 à 16:07
Là c'est mieux (Merci)

Bon je crois qu'il ya un super super exemple pour ton cas (en vb)

http://www.shrinkwrapvb.com/avihelp/avihlp_4.htm

regarde l'exemple dans le fichier AVITutr4.zip

A voir : http://www.shrinkwrapvb.com/avihelp/avihelp.htm

NB : site en anglais.

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)
0
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
29 août 2004 à 16:14
oui mais ca va pas , il ne parle pas du son , j'avais deja vu sa source

res = AVISave(szFileOut, 0&, AddressOf AVISaveCallback, 1, pAVIStreamOut, pOpts)

tu vois , il n'enregistre qu'un stream , moi il m'en faut 2 , un stream video , com lui (et com le mmien) ET un stream audio.

mais je ne peut pas transmetre de tableau a la place de pAVIStreamOut

alors qu'en C/C++ , ils peuvent transmetre un tableau
(si je me rapel bien, en C :
MaVariable[0]=xxx
MaVariable[1]=xxx
MaVariable , c'est un tableau , c'est obligé.
et eux , ils peuvent faire :

res = AVISave(szFileOut, 0&, AddressOf AVISaveCallback, 2, MaVariable, pOpts)

c'est ca que je ne comprend pas.
Ou si il ya une autre fonction que AviSave /AviSaveV pour creer les streams ... je prend .

merci
0
Rejoignez-nous