Copie de stream Audio dans un AVI [C++] - C++ - Programmation
Marsh Posté le 30-10-2005 à 14:54:48
J'ai un peu avancer, et compris que le Header d'un streamAudio etait du type WAVEFORMATEX, à l'excution de ce code, un fichier d'une taille relativement petite (devrai etre autour des 3mo et ne fait que 293 ko) mais d'une durée correcte, je n'ai pas trouvé d'information sur la taille des frames de son :
Code :
|
"int size=wave.cbSize;" j'ai de serieux doute sur cette taille, car elle est égale à 12 quand je debug, ce qui me parai peu...
Marsh Posté le 30-10-2005 à 15:29:58
PS : ce n'est pas byte par byte que je copie mais frame par frame...
Apparament, la trame ne change jamais dans la boucle...
Marsh Posté le 30-10-2005 à 16:54:05
J'ai trouvé l'erreur, mais je ne sais comment la résoudre :
AVIStreamRead(audio,i,1,trame,size,NULL,NULL); me retourne AVIERR_BUFFERTOOSMALL
quelle taille doit-je accorder au buffer ?
Marsh Posté le 29-10-2005 à 22:48:45
Salut,
J'arrive à ouvrir un fichier AVI decompresser les frames pour obtenir des BMP (ou simplement un tableau de données) et recompresser ensuite ces frames pour avoir un nouveau fichier AVI par l'intermédiaire des méthodes AVIStreamGetFrame et AVIStreamWrite (dans le but d'appliquer des transformations aux images par la suite).
Mon problème est dans le stream audio, en effet, je ne souhaite pas modifier ce flux, je souhaiterai donc simplement le copier, j'aimerais donc creer une fonction du type "Add_Audio(PAVISTREAM stream_audio,PAVIFILE avi_file)" qui ajouterai le stream audio au fichier mais je ne vois pas du tout comment m'y prendre...
J'ai bien essayé d'appliquer la même méthode qu'avec le flux Vidéo mais beaucoup d'inconnues persistent, de plus, je ne souhaite pas traiter la piste audio, il n'est donc pas necessaire de la decomposer.
Merci d'avance de me libérer mon ignorance !