![]() |
Video über VLC abspielen?
Hi,
ich versuche ein Video mit dem VLC Player abspielen... aber es funktioniert nicht! meine bisherigen verusche:
Delphi-Quellcode:
All das habe ich auch ohne " versucht!
function GetConsoleOutput(const Command: String; var Output, Errors: TStringList): Boolean;
var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; SecurityAttr: TSecurityAttributes; PipeOutputRead: THandle; PipeOutputWrite: THandle; PipeErrorsRead: THandle; PipeErrorsWrite: THandle; Succeed: Boolean; Buffer: array [0..255] of Char; NumberOfBytesRead: DWORD; Stream: TMemoryStream; begin //Initialisierung ProcessInfo FillChar(ProcessInfo, SizeOf(TProcessInformation), 0); //Initialisierung SecurityAttr FillChar(SecurityAttr, SizeOf(TSecurityAttributes), 0); SecurityAttr.nLength := SizeOf(SecurityAttr); SecurityAttr.bInheritHandle := true; SecurityAttr.lpSecurityDescriptor := nil; //Pipes erzeugen CreatePipe(PipeOutputRead, PipeOutputWrite, @SecurityAttr, 0); CreatePipe(PipeErrorsRead, PipeErrorsWrite, @SecurityAttr, 0); //Initialisierung StartupInfo FillChar(StartupInfo, SizeOf(TStartupInfo), 0); StartupInfo.cb:=SizeOf(StartupInfo); StartupInfo.hStdInput := 0; StartupInfo.hStdOutput := PipeOutputWrite; StartupInfo.hStdError := PipeErrorsWrite; StartupInfo.wShowWindow := sw_Hide; StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES; if CreateProcess(nil, PChar(command), nil, nil, true, CREATE_DEFAULT_ERROR_MODE or CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then begin result:=true; //Write-Pipes schließen CloseHandle(PipeOutputWrite); CloseHandle(PipeErrorsWrite); //Ausgabe Read-Pipe auslesen Stream := TMemoryStream.Create; try while true do begin succeed := ReadFile(PipeOutputRead, Buffer, 255, NumberOfBytesRead, nil); if not succeed then break; Stream.Write(Buffer, NumberOfBytesRead); end; Stream.Position := 0; Output.LoadFromStream(Stream); finally Stream.Free; end; CloseHandle(PipeOutputRead); //Fehler Read-Pipe auslesen Stream := TMemoryStream.Create; try while true do begin succeed := ReadFile(PipeErrorsRead, Buffer, 255, NumberOfBytesRead, nil); if not succeed then break; Stream.Write(Buffer, NumberOfBytesRead); end; Stream.Position := 0; Errors.LoadFromStream(Stream); finally Stream.Free; end; CloseHandle(PipeErrorsRead); WaitForSingleObject(ProcessInfo.hProcess, INFINITE); CloseHandle(ProcessInfo.hProcess); end else begin result:=false; CloseHandle(PipeOutputRead); CloseHandle(PipeOutputWrite); CloseHandle(PipeErrorsRead); CloseHandle(PipeErrorsWrite); end; end; var s,sFile:String; begin sFile:='C:\Videos\abc.avi'; s:='C:\Program Files\VideoLAN\VLC\vnc.exe'; GetConsoleOutput('"'+sFile+'"',sl,sl); GetConsoleOutput('"'+s+'" "'+sFile+'"',sl,sler); ZeroMemory(@StartInfo, SizeOf(TStartupInfo)); StartInfo.cb := SizeOf(TStartupInfo); GetStartupInfo(StartInfo); StartInfo.wShowWindow := SW_NORMAL; CreateProcess(nil,Pchar('"'+s+'" "'+sFile+'"'),nil,nil,False,0,nil,nil,StartInfo,ProcInfo); CreateProcess(nil,Pchar('"'+s+'",nil,nil,False,0,nil,nil,StartInfo,ProcInfo); ShellExecute( handle, 'open', pchar('"'+s+'" "'+sFile+'"'),nil, nil, sw_show); shellexecute(application.handle,'open','vnc.exe',pchar('"'s'"'),'C:\Program Files\VideoLAN\VLC\',0); shellexecute( 0,'open',pchar('"'+extractfilename(sFile)+'"'),'',pchar('"'+extractfilepath(sFile)+'"'),0); Was mache ich falsch? mfg gandime |
Re: Video über VLC abspielen?
Was meinst du mit "geht nicht"?
|
Re: Video über VLC abspielen?
|
Re: Video über VLC abspielen?
die libVLC hab ich auch schon durch... ich verstehe einfach warum das dingen nicht starten will... wenn ich es z.B. manuell über cmd starte geht es ohne Probleme!
Diese gute ![]() |
Re: Video über VLC abspielen?
Hallo gandime,
ich habe gerade auf der Suche nach "VLC" diesen Thread gefunden. Also daß es bei Dir nicht geht, liegt wohl zu 99.9999999% daran, daß Du das Programm "VNC.exe" zu starten versuchst anstelle "VLC.exe"..... Grüße, blauweiss |
Re: Video über VLC abspielen?
[OT] *Pruuuust* :lol: , das haben aber auch wirklich alle übersehen (mich eingeschlossen) [/OT]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz