AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Video über VLC abspielen?

Ein Thema von gandime · begonnen am 20. Sep 2009 · letzter Beitrag vom 19. Nov 2009
Antwort Antwort
gandime
(Gast)

n/a Beiträge
 
#1

Video über VLC abspielen?

  Alt 20. Sep 2009, 22:20
Hi,
ich versuche ein Video mit dem VLC Player abspielen... aber es funktioniert nicht!
meine bisherigen verusche:
Delphi-Quellcode:
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);
All das habe ich auch ohne " versucht!
Was mache ich falsch?

mfg
gandime
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Video über VLC abspielen?

  Alt 20. Sep 2009, 22:27
Was meinst du mit "geht nicht"?
Markus Kinzler
  Mit Zitat antworten Zitat
Kruemel_02

Registriert seit: 24. Jan 2007
Ort: Friedrichshafen
37 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Video über VLC abspielen?

  Alt 20. Sep 2009, 22:43
- libvlc
- Is it possible to use libvlc.dll directly instead of ActiveX
- ActiveX-Komponente von "VideoLAN" nutzbar
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#4

Re: Video über VLC abspielen?

  Alt 20. Sep 2009, 22:54
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 Stück hab ich auch ausprobilert...
  Mit Zitat antworten Zitat
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#5

Re: Video über VLC abspielen?

  Alt 19. Nov 2009, 15:23
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: Video über VLC abspielen?

  Alt 19. Nov 2009, 15:27
[OT] *Pruuuust* , das haben aber auch wirklich alle übersehen (mich eingeschlossen) [/OT]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 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