2010-08-02 3 views
1

J'utilise mplayer dans mon application C# fonctionnant sous .NET sous Windows et Mono sous Linux. Je lance mplayer en utilisant Process.Start et l'exécute dans -slave -idle.Mode esclave mplayer - impossible de supprimer les fichiers après avoir regardé

Pour lire une vidéo, je vous écris pour stdin comme ceci:

loadfile {nom de fichier}

Quand je suis prêt à jouer la vidéo suivante, je l'appelle loadfile à nouveau avec le nouveau nom de fichier. Problème: si je lis une vidéo et que je la supprime parfois, je ne peux pas - sous Windows je reçois "Le processus ne peut pas accéder au fichier parce qu'il est utilisé par un autre processus". Je vérifie avec Process Explorer et vois que mplayer a toujours un handle ouvert sur le fichier, même s'il a fini de le lire il y a quelque temps.

Des idées sur la façon dont je peux obtenir mplayer pour libérer des poignées sur les fichiers qu'il a fini de jouer?

Merci à l'avance

Répondre

0

Utilisez un pipe.

+0

Merci. Je ne pouvais pas faire fonctionner MPlayer avec un tuyau nommé sur Windows - je l'ai eu pour se connecter à mon tuyau, mais ensuite il n'écoutait aucune commande ... Et la documentation pour faire cela sur Windows est mince sur le terrain. J'ai fini par utiliser deux processus de MPlayer et passer de l'un à l'autre (en fermant et en redémarrant un pour libérer les poignées pendant que l'autre joue) – TheNextman

Questions connexes