Спасибо, гляну !
(Хотя мой проект Shell2Shell благополучно переехал на  WebView4Delphi  идея все равно интересная )
			
		Модератор: Модераторы
Alex2013 писал(а):Спасибо, гляну !
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  FreeAndNil(cPlayer);
  cPlayer := TMPVBasePlayer.Create;
  cPlayer.InitPlayer(IntToStr(Panel2.Handle), '', '', '');
  cPlayer.OpenFile('https://hye1eaipby4w.takedwn.ws/08_14_23/08/14/22/YHMVOWRH/FD7VO3UU.mp4/master.m3u8');
end;delphius писал(а):Alex2013 писал(а):Спасибо, гляну !
Наткнулся на интересный врапер для библиотеки плеера mpv
Собрал пример, подсунул ему ссылку на видео, выдернутую из кода известного нам сайта...работает, вот скриншот
Единственное, что не радует, это размер dll - 60 Мб
Но в сети пишут, что прям отличный плеер и полноценный враппер, можете глянуть...вдруг где пригодиться

Alex2013 писал(а):плеер на базе FFMPEG занимает cо всеми DLL 12мб в архиве и 42мб в распакованном виде
delphius писал(а):19 метров в архиве и требуется только одна dll
Alex2013 писал(а):А что проигрыванием m3u8 с локального диска ?
 
  
delphius писал(а):Без понятия, из сети тянет норм, остальное проверяйте

Alex2013 писал(а):Кстати, некоторые DLL успешно сжимаются разными EXE-паками.
 ) и при запуске проверять, если в папке программы dll отсутствует, то распаковать и начать работать с dll, иначе сразу работать, сведя распространяемый дистрибутив к одному единственному бинарнику.
 ) и при запуске проверять, если в папке программы dll отсутствует, то распаковать и начать работать с dll, иначе сразу работать, сведя распространяемый дистрибутив к одному единственному бинарнику.procedure TMainForm.FormActivate(Sender: TObject);
begin
  if (ParamCount =3 ) And (ParamStr(1)='RUN_IN_DS') then
begin
  windows.SetParent(Handle,ParamStr(2).ToInt64);
while not AddressPnl.Enabled do application.ProcessMessages;
  WVBrowser1.Navigate(UTF8Decode(ParamStr(3)));
end;
end;
procedure TMainForm.ExecPanelResize(Sender: TObject);
begin
    if Process1.Running then begin
     Con_h:= Windows.GetFirstChild(ExecPanel.Handle);
   if ( Con_h<>0 ) and  windows.IsWindow(Con_h) then
    begin
     windows.MoveWindow( Con_h ,0,0,Execpanel.Width,Execpanel.Height,true);
    end;
    self.Refresh;
  end;
end;
procedure TMainForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
      Process1. Terminate (0);
end;
procedure TMainForm.FormShow(Sender: TObject);
begin
end;
procedure TMainForm.GoBtnClick(Sender: TObject);
begin
 Process1. Terminate (0);
 Process1.CommandLine:='SimpleBrowser.exe'
     +' RUN_IN_DS '+self.ExecPanel.Handle.ToString+' '+
    self.AddressCb.Text ;
 Process1.Execute;
 sleep(500);
  if Process1.Running then begin
     Con_h:= Windows.GetFirstChild(ExecPanel.Handle);
   if ( Con_h<>0 ) and  windows.IsWindow(Con_h) then
    begin
    windows.MoveWindow( Con_h ,0,0,Execpanel.Width,Execpanel.Height,true);
    end;
    self.Refresh;
  end;
end;

Вернуться в Сторонние средства
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1