VLC Playerı activex olarak nasıl kullanabilirim.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Lord_Ares
Üye
Mesajlar: 1015
Kayıt: 15 Eki 2006 03:33
Konum: Çorlu

VLC Playerı activex olarak nasıl kullanabilirim.

Mesaj gönderen Lord_Ares » 06 Eki 2017 01:54

Merhaba, vlc player ile websayfasındaki videoyu açmaya çalışıyorum. Paslibvlc bileşenleri kurmadım. İlgili pas dosyasından aşağıdaki gibi create edip kullanıyorum.Videoyu açabilmem için vlc playerı activex olarak kullanmam gerekiyor. Activex olarak nasıl kullanılıyor.

1)VLC player programını bilgisayarıma kurdum. ( delphi xe 10 import activex kısmında vlc activexleri görünüyor)
aşağıdaki şekilde bilgisayarımdaki herhangi bir videoyu açabiliyorum.
Fakat https://hls.tombalalive.com/tombalaFlas ... list.m3u8' adresini açtığımda görüntü gelmiyor. Eğer arka planda herhangi bir tarayıcı ile şu https://tombalalive.com/login siteyi açarsam programıma da görüntü geliyor.
VLC playerı activex olarak delphide kullanıp nasıl açbilirim.

Kod: Tümünü seç

uses PasLibVlcPlayerUnit, PasLibVlcClassUnit, PasLibVlcUnit,AXVLC_TLB;

Var
  xVLCPlayer    : PasLibVlcPlayerUnit.TPasLibVlcPlayer;
  xVLCMediaList : PasLibVlcPlayerUnit.TPasLibVlcMediaList;

procedure TForm1.BitBtn2Click(Sender: TObject);
Var
  strLogo1, strLogo2 : String;
begin
  if xVLCPlayer    = nil
    then xVLCPlayer := TPasLibVlcPlayer.Create(nil);

  if xVLCMediaList = nil
    then xVLCMediaList := TPasLibVlcMediaList.Create(nil);

  with xVLCPlayer do
  begin
    Parent       := Panel1;
    Align        := alClient;
    AudioOutput  := PasLibVlcClassUnit.aoWaveOut;
    if xVLCMediaList.IsPlay then
    begin
      xVLCMediaList.Stop;
      xVLCMediaList.Clear;
    end;
    xVLCMediaList.Player := xVLCPlayer;
    Application.ProcessMessages;
    xVLCMediaList.Add('https://hls.tombalalive.com/tombalaFlash/smil:live.smil/playlist.m3u8');
    xVLCMediaList.PlayItem( xVLCMediaList.GetItemAtIndex(0) );
  end;

// Logo Yükleme
  strLogo1 := ExtractFilePath(Application.ExeName) + 'Logo\logo1.png';
  strLogo2 := ExtractFilePath(Application.ExeName) + 'Logo\logo2.png';
  if (FileExists( strLogo1 ) and FileExists( strLogo1  )) then
  begin
    xVLCPlayer.LogoShowFiles( [strLogo1, strLogo2] );
    xVLCPlayer.LogoSetPosition( libvlc_position_top_right );
  end;

  xVLCPlayer.SetAudioVolume( 50 );

  if TrackBar1 <> nil then
  begin
    TrackBar1.Min      := 0;
    TrackBar1.Max      := 100;
    TrackBar1.Position := 50;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
libvlc_dynamic_dll_init_with_path(ExtractFilePath(ParamStr(0)));
 libvlc_dynamic_dll_init();
 if (libvlc_dynamic_dll_error <> '') then
 begin
   MessageDlg(libvlc_dynamic_dll_error, mtError, [mbOK], 0);
   exit;
 end;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  xVLCPlayer.SetAudioVolume( TTrackBar(Sender).Max - TTrackBar(Sender).Position );
end;
end.


Lord_Ares
Üye
Mesajlar: 1015
Kayıt: 15 Eki 2006 03:33
Konum: Çorlu

Re: VLC Playerı activex olarak nasıl kullanabilirim.

Mesaj gönderen Lord_Ares » 06 Eki 2017 03:31

Bu şekilde çalıştırmayı başarabildim. Fakat explorer ile ilgili sayfayı açtığımda görüntü daha çabuk geliyor. VLC ile bağlandığımda 30 saniye geç geliyor. Sebebi ne olabilir, nasıl düzeltebilirim?
Şaunki çalışır hali :
http://s5.dosya.tc/server5/yupu7s/PasLi ... k.rar.html

Cevapla