Vielleicht kann mir von Euch einer helfen.
Ausgangslage ist
eine MovieListe wird per FTP geladen.. das funktioniert auch.
downloaden kann man den Film auch.. funktioniert auch
VLC Player starten geht auch aber nur in Windows und Linux (auf dem MAC gehts nicht und kommt auch keine Fehlermeldung)
fest eingestellten Film abspielen funktioniert, ist aber nicht das was ich will.
Ich würde gern den Film aus der Liste wählen und nicht downloaden sondern auf der Platte über einen Netzwerkstream schauen.
Mit dem VLC sollte das doch gehen
kann mir da mal jemand helfen wie ich den Eintrag unter Filename ändern muss das ich einen Film aus der Liste wählen kann und übers Netzwerk mit dem VLC streamen kann?
mit Filename := 'listbox1.getselectedText' geht es ja nicht
auch geht der Eintrag nicht PlayerPath := FindDefaultExecutablePath('vlc');
und wie bekomm ich das auf dem MAC ans laufen? da wird der VLC garnicht gestartet was auf Windows und Linux funktioniert.
Code: Alles auswählen
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  ComCtrls, StdCtrls, FileCtrl, IdFTP, Process, LCLProc, UTF8Process;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Listbox1: TListBox;
    IdFTP1: TIdFTP;
    Panel1: TPanel;
    Panel3: TPanel;
    SaveDialog1: TSaveDialog;
    Splitter2: TSplitter;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    procedure FtpConnect ;
 
  public
 
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.FtpConnect ;
begin
  idftp1.Username:='root';
  idftp1.Password:='password';
  idftp1.Host:='192.168.0.147';
  idftp1.Passive:=True;
  idftp1.Connect;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  ftpConnect;
 idftp1.ChangeDir('media/hdd/movie');
 idftp1.List(Listbox1.Items,'*.ts',false);
 
end;
 
procedure TForm1.Button2Click(Sender: TObject);
Var
datei{, Line}: String;
begin
datei := IdFTP1.DirectoryListing.Items[ListBox1.ItemIndex].FileName;
SaveDialog1.FileName := datei;
if SaveDialog1.Execute then begin
IdFTP1.Get(datei, SaveDialog1.FileName, true);
end;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var
  Player: TProcessUTF8;
  Filename: String;
  PlayerPath: String;
  PlayerParams: String;
begin
  Filename := 'ftp://user:passwort@192.168.0.147/media/hdd/movie/' + idftp1.DirectoryListing.Items[ListBox1.ItemIndex].FileName;
 
// PlayerPath := FindDefaultExecutablePath('vlc');  [color=#FF0000]geht nicht[/color]
 
 PlayerPath := '/Applications/VLC.app/Contents/MacOS/VLC';
  PlayerParams := '"' + Filename + '"';
  Player:=TProcessUTF8.Create(nil);
  try
    Player.CommandLine := PlayerPath + ' ' + PlayerParams;
    Player.Execute;
  finally
    Player.Free;
  end;
 
end;
end.
 
 SCNR.
 SCNR. 
  Verein
Verein 
 Links
Links Suche
Suche