2010-08-02 4 views
1

Windows 용 .NET 및 Linux 용 Mono에서 실행중인 C# app에서 mplayer를 사용하고 있습니다. Process를 사용하여 mplayer를 시작합니다. 시작하고 -slave -idle에서 실행합니다. mplayer 슬레이브 모드 - 시청 후 파일을 삭제할 수 없습니다.

비디오를 재생하려면,이 같은 표준 입력 쓰기 : 나는 새로운 파일 이름으로의 loadfile 다시 전화

내가 다음 비디오를 재생 할 준비가,

의 loadfile {파일 이름}.

문제점 : 비디오를 재생 한 다음 언젠가 그 파일을 삭제하려고하면 "Windows XP에서 다른 프로세스에서이 파일을 사용하고 있기 때문에 프로세스에 액세스 할 수 없습니다"라는 메시지가 나타납니다. 프로세스 탐색기로 확인하고 mplayer가 파일을 열어 볼 수있는 핸들을 아직 가지고 있는지 확인합니다.

재생을 완료 한 파일의 핸들을 mplayer에서 해제 할 수있는 방법에 대한 아이디어가 있습니까? 사전에

덕분에

답변

0

pipe를 사용합니다.

+0

감사합니다. Windows에서 명명 된 파이프를 사용하여 MPlayer를 작동시킬 수 없습니다. 파이프에 연결해야하지만, 명령을 수신하지 못합니다. Windows에서이 작업을 수행하기위한 문서는 매우 얇습니다. 나는 두 개의 MPlayer 프로세스를 사용하고 그 사이를 전환하여 종료했습니다 (다른 하나가 재생되는 동안 핸들을 닫고 하나를 다시 시작하여 다시 시작 함) – TheNextman

관련 문제