Page 1 sur 1

packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 10:51
par raven
bonjour à tous.

j'ai packer un fichier avi seulement voila,je bloque sur comment le charger pour pouvoir l'affiché dans un programme.
l'idée de depart c'était d'affiché plusieurs images d'animation et lire un son pendant l'animation.

J'ai trouvé plus simple de le faire en avi ce que j'ai fait,c'a fonctionne bien comme je le voulait.
vu que l'on peut pas inclure un fichier video dans l'exe,je me suis dit,je vais le packer puis le lire avec un loadmovie seulement cela fonctionne pas comme ça(#movie non initialisé).
j'ai était voir dans la doc mais çà me parle pas plus que ça:

Code : Tout sélectionner

initmovie()
  UseZipPacker() 
 ; Ouvre le fichier compressé
  If OpenPack(0, "raven.pack")         ; Liste toutes les entrées
    ; Liste toutes les entrées
    If ExaminePack(0)
      While NextPackEntry(0)
        Debug "Nom: " + PackEntryName(0) + ", Taille: " + PackEntrySize(0)
      Wend
    EndIf
     ClosePack(0)
  EndIf

loadmovie(0,"raven.pack")
playmovie(0,ScreenID())
le debug me donne bien l'info de mon avi son nom,sa taille.
et j'ai ensuite (#movie non initialisé)

je pense qu'il arrive pas à lire mon avi car il n'est pas dépacker au moment ou le compilateur arrive à la ligne loadmovie()?
doit je utilisé UncompressPackMemory()?par contre la je suis perdu :?
Vous voyez c'est sur ce genre de truc que je bloque et que j'ose pas demandé :oops:

sans packer l'avi j'arrive à le lire dans une fenetre et un openscreen().
savoir le faire et surtout comprendre ce qui se passe dans le programme pour packer,ouvrir,lire un fichier packer:image,son,avi.
C'est ce que j'essaie de faire depuis un moment...car si j'avais réussi Pure miga serait dispo depuis quelques jours :lol:

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 11:30
par TazNormand
LoadMovie() ne connaît pas les fichier "pack", il faut dépacker ton fichier avant de l'envoyer à LoadMovie(), donc forcément il faut soit un unCompressPackMemory() ou unCompressPackFile(), tout dépend de la taille de ton AVI

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 11:38
par raven
merci taz pour ta réponse,la taille de mon avi fait 4,26 mo (4 476 928 octets).
et je n'ai jamais utilisé ces commandes unCompressPackMemory() et unCompressPackFile() donc je sais pas comment m'y prendre :oops:

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 11:51
par TazNormand
Tu peux fournir un lien vers ton fichier avi packé, stp ?

Je regardes ça, histoire de pas avoir à chercher un fichier avi de 4Mo :lol:

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 11:56
par raven
bah écoute je te fournie la total je te prépare c'a.

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 12:22
par TazNormand
Bon, j'ai pas regardé du coté de UncompressPackMemory(), mais avec un UncompressPackFile(), ça pourrait donner ça :

PS : le fichier AVI que j'ai utilisé, et sa version packée:
WOWIntro.avi
movie.pack

Code : Tout sélectionner

; Fichier AVI d'origine avant package
ReadFile(1,"WOWIntro.avi")
taille=Lof(1)  ; Connaitre la taille en octets du film original

InitMovie()
	UseZipPacker() 
; Ouvre le fichier compressé
	If OpenPack(0, "movie.pack")         ; Liste toutes les entrées
		; Liste toutes les entrées
		If ExaminePack(0)
			While NextPackEntry(0)
			  Debug "Nom: " + PackEntryName(0) + ", Taille: " + PackEntrySize(0)
			  
			  ; Décompresser le fichier			  
			  uncompMovie=UncompressPackFile(0,"movie.avi") 

			Wend
		EndIf
			ClosePack(0)
		EndIf
		
OpenWindow(0, 100, 150, 640, 480, "PureBasic - Movie")
LoadMovie(0,"movie.avi")
PlayMovie(0,WindowID(0))

; boucler
Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 12:24
par raven
je vais regardé ça en attendant je t'ai envoyé le source en mp

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 12:25
par TazNormand
Oui, je viens de le lire, j'ai téléchargé ta source, mais je vais pas avoir le temps de regarder cet après midi, et puis je préfère attendre ta version finale :wink:

Re: packer un fichier avi ok mais...

Publié : mer. 08/oct./2014 12:37
par raven
ok merci pour ton aide je vais étudié tout c'a :)

edit:en testant ton code,je viens de voir que c'était déja mal barré avec mon avi packée.
ta video packée fonctionne bien et voici ce que m'affiche le debug Nom: WOWIntro.avi, Taille: 47632384

par contre avec mon avi packée le debug m'affiche:
Nom: raven.avi, Taille: 4476928
Nom: , Taille: 0

et ne lit pas la video et m'affiche une fenetre blanche limite plante,j'ai repacker mon avi et le debug m'affiche:Nom: raven.avi, Taille: 4476928
et bien sur maintenant,il le lit bien 8)