Спасибо, гляну !
(Хотя мой проект 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-паками.
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;
Вернуться в Сторонние средства
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2