Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Externen Player mit übergebener Datei aufrufen, wie beenden? (https://www.delphipraxis.net/125502-externen-player-mit-uebergebener-datei-aufrufen-wie-beenden.html)

Netblaster 7. Dez 2008 15:40


Externen Player mit übergebener Datei aufrufen, wie beenden?
 
Hallo Allerseits.

habe mal wieder ein interessantes Problem zu lösen.
Ich habe in einem Ordner 3 mpg Dateien.
Aus einem Programm rufe ich nun einen speziellen Medienplayer auf (mit CreateProcess), der als Parameter die erste abzuspielende Datei erhält und nun die Datei abspielt.
Nach Abspielen der Datei soll der externe Player beendet werden, um die weitere Ausführung in meinem Delphiprog zu ermöglichen.
(Also z.B. 'vlc.exe datei-1')
Wenn die Datei zu ende ist, hört zwar der Player auf zu spielen, beendet sich aber nicht, der Prozess geht nicht an Delphi zurück. Erst wenn ich per Hand das den externen Player schließe. Schon blöd - für mich ;-)

Wo könnte ich da ansetzen?

(es geht da um Programm, was bestimmte Dateien immer wieder einem bestimmten Zeitraum abspielt. Also z.B. begint um 18:00 in Schleife die Datei-1 , dann Datei-2 dann Datei-3 dann wieder Datei-1 usw. bis um 20.00 das Abspielen beendet wird)


Ciao - Andrej.

aladin60 7. Dez 2008 15:53

Re: Externen Player mit übergebener Datei aufrufen, wie been
 
Wenn der Player keinen weiteren Parameter zum Beenden nach dem Abspielen akzeptiert, wirst Du wohl nur eine Lösung finden, bei der der Prozess nach einer gewissen Zeit zwangsweise (kill) beendet werden muss. Ich würde, wenn es sich um einfache mpg-Dateien handelt, lieber selbst einen Player in das Programm integieren. Da gibt es schon viele Lösungen.

Bernd.

Netblaster 7. Dez 2008 16:02

Re: Externen Player mit übergebener Datei aufrufen, wie been
 
Danke Bernd erst mal für deine Antwort.

Es ist leider kein einfacher Player, sondern eine speziellere Software einer Sendestation für einfaches Kabelfernsehen....
Deswegen kann ich keinen Player selber programmieren.
Und killen würde ja evt. gehen, aber die Videos sind alle in unterschiedlichen Längen und sollten relativ nahtlos abgespielt werden. Darum gibt es keine feste Zeit, nach der ich den Prozess killen kann.

Andrej

mkinzler 7. Dez 2008 16:23

Re: Externen Player mit übergebener Datei aufrufen, wie been
 
Und ich bezweifel auch, das das Programm dir Rückmeldung über den Abschluss liefern wird. Vielleicht hast du Glück und das Programm besitzt eine ActiveX Schnittstelle o.ä.

Sunlight7 7. Dez 2008 17:19

Re: Externen Player mit übergebener Datei aufrufen, wie been
 
Du könntest zB prüfen, ob die Datei, welche Du abspielt in Verwendung ist, VLC gibt die Datei frei, wenn die Wiedergabe beendet ist.
Ist die Datei nicht mehr in Verwendung dem Player eine MSDN-Library durchsuchenSC_CLOSE (MSDN-Library durchsuchenWM_SYSCOMMAND) oder ähnliches zukommen lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz