J'essaye de lire un fichier AVI compressé en utilisant MCI en C#. Jusqu'à présent, j'étais capable de jouer en ouvrant le fichier.Utilisation de MCI pour lire un flux avi depuis la mémoire
La façon dont je le fichier ouvert est la suivante:
String opencommand = "open \"" + file + "\" type mpegvideo alias someMovie shareable";
int error;
error = Avi.mciSendString(opencommand, null, 0, IntPtr.Zero);
Où file
est le chemin du fichier. La vidéo joue bien comme ça.
Ce serait beaucoup mieux dans mon cas si j'étais capable de le lire à partir d'un flux qui est déjà chargé en utilisant AVIFileOpen()
et AVIFileGetStream()
de avifil32.dll. De la documentation de MSDN il semble que je devrais pouvoir faire ceci. Ils disent here.
« MCI peut ouvrir des fichiers AVI en utilisant un pointeur interface de fichier ou un pointeur-interface de flux Pour ouvrir un fichier en utilisant soit le type de pointeur Interface , spécifiez un à signe (@) suivi par le pointeur d'interface place du nom du fichier ou périphérique pour le paramètre
lpszDevice
. pour de plus amples informations sur le fichier et flux interfaces, voir « Fonctions aVIFile et macros. » »
Mais malheureusement, ils ne vont pas dans les détails et je n'ai aucune idée de ce que je suis censé faire. Que signifie réellement "stream-interface pointeur" et d'où puis-je en trouver un? Parce que MSDN n'essaie sûrement pas d'expliquer les termes qu'ils inventent.