lire une video en TMemoryStream avec un TMediaPlayer
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 :calim2:
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:
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; |