bonjour,

j'ai le code suivant qui me permet d'intégrer un effet video/animation dans l'un de mes programmes.

Problème : je suis obligé d'écrire sur le disque la video avant de la lire car je suis limité par le composant MediaPlayer1 qui ne veut pas lire depuis une TMemoryStream

Quelqu'un sait-il s'il est possible de lire directement la memorystream sans passer par un fichier intermédiaire ( qui me fait perdre du coup l'avantage que j'avais de l'intégrer en ressource dans mon .EXE )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
	/*! Charger le film */
 
	TMemoryStream *a;
	a= new TMemoryStream();
 
	// chargement de la video depuis les ressources
	HRSRC hRsrc;
	HGLOBAL hGlob;
 
	hRsrc = FindResource(NULL, L"Video1", RT_RCDATA);
	if (hRsrc == NULL)exit(EXIT_FAILURE);
 
	hGlob = LoadResource(NULL, hRsrc);
	if (hGlob == NULL)exit(EXIT_FAILURE);
 
	a->Write(hGlob,	SizeofResource(NULL, hRsrc));
	a->SaveToFile("patcheur.wmv");
	delete a;
 
	this->MediaPlayer1->FileName="test.wmv";
	this->MediaPlayer1->Open();
	this->MediaPlayer1->Position=0;
 
	// memoriser la position de la fenetre de depart
	Position_Fenetre_X=this->Left;
	Position_Fenetre_Y=this->Top;