Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   VCL Twebbroser mit YouTube I-Frame API (https://www.delphipraxis.net/199345-vcl-twebbroser-mit-youtube-i-frame-api.html)

Rolandrevolvermann 18. Jan 2019 09:52

AW: VCL Twebbroser mit YouTube I-Frame API
 
Ich habe mich nun mal in das Thread Thema bzgl. Delphi eingelesen.
Mein Plan:
Ich habe z.B. eine procedure
Code:
procedure youtube_abspielen(pfad:String)
Diese möchte ich in einen Thread packen. Dazu habe ich mir folgenden Type gebaut
Code:
Type
  TYoutube = class(TThread)
  TProc: procedure(const AStr: String) of object;
private
  Pfad : String;
  Funktion : TProc;
protected
  procedure Execute(); override;
public
  property Param1 : String read Pfad write Pfad;
  property Proc : TProc read Funktion write Funktion;
End;
Die Excecute macht folgendes
Code:
procedure TYoutube.Execute;
begin
  try
    TProc(pfad);
  Except
  end;
end;
Im Programm dachte ich mir rufe ich das folgendermaßen auf:
Code:
MyYoutube := TYoutube.Create(False);
MyYoutube.TProc := youtube_abspielen('Hier ist das große Fragezeichen'); //Hier klappt es nicht
MyYoutube.Param1 := 'Ein_String';
Es hakt soweit ich das beurteilen kann bei der Zuweiseung der Procedure an die Member. :?

PS: Wenn ich der Procedure einen String mitgebe kommt folgende Fehlermeldung:
E2010 Incompatible types: 'Procedure of object' and 'procedure, untyped pointer or untyped parameter'

Rolandrevolvermann 18. Jan 2019 09:58

AW: VCL Twebbroser mit YouTube I-Frame API
 
Erledigt: habs gerade selber gesehen
Richtig ist nur die procedure zu übergeben:
Zitat:

MyYoutube.TProc := youtube_abspielen;

TiGü 18. Jan 2019 10:00

AW: VCL Twebbroser mit YouTube I-Frame API
 
Überschreibe mal den Constructor und übergebe dir die Callback darüber. Ist sauberer und weniger Fehleranfällig.
Das ist nur ein Beispiel, dass heißt nicht wirklich TProc, oder?

Rolandrevolvermann 18. Jan 2019 10:06

AW: VCL Twebbroser mit YouTube I-Frame API
 
Danke für den Hinweis.
Ja, das ist nur ein Beispiel für mich zum testen gewesen.
Leider bringt das Auslagern der Youtube Funktion keine Besserung der Abspielqualität des YouTube Videos. Aber einen Versuch wars Wert und so kann ich zumindest in Delphi Threads erstellen :lol:

EWeiss 18. Jan 2019 10:25

AW: VCL Twebbroser mit YouTube I-Frame API
 
Zitat:

Leider bringt das Auslagern der Youtube Funktion keine Besserung der Abspielqualität des YouTube Videos.
Ich weis ja nicht um was es dir geht.. Nur um YouTube Videos abzuspielen?

Falls dem so ist.
Verwende DirectX und deine Probleme sind Vergangenheit. (https://youtu.be/h2bhFlkylPE)
Siehe Pic.

gruss

Rolandrevolvermann 18. Jan 2019 10:48

AW: VCL Twebbroser mit YouTube I-Frame API
 
@EWeiss
Ausgangsproblem war/ist, dass ein im TWebbrowser abgespieltes Youtube Video in unserer Anwendung ruckelt bzw nicht flüssig lüuft. Im normalen Browser schon. Ich konnte das ganze eingrenzen bzw. habe herausgefunden, dass das kein Problem vom Twebbrowser ist, sondern von unserer Anwendung.
Von 'Delphi.Narium' kam der Hinweis, dass "Timer, viele Ereignisse (nicht nur sowas wie OnStatus beim TWebBrowser), viele Application.ProcessMessages" ein "störgrund" sein können.
Von ConnorMcLeod kam dann der hinweis, das ganze in einen thread auszulagern. Das fand ich recht sinnvoll und habe es auch getestet. Leider ohne Erfolg.

EWeiss 18. Jan 2019 10:58

AW: VCL Twebbroser mit YouTube I-Frame API
 
Zitat:

YouTube I-Frame API
Ich behaupte das diese API nicht mehr zuverlässig arbeitet, denn es ist nicht gewollt das YouTube Videos in eigene Anwendungen abgespielt werden können.
Von daher wenn das eine Bedingung für euer Programm ist.. sorry dann vergesst es.
Das wird so wohl nichts werden ohne extra Filter.

Ich kann hingegen 4K Videos ohne Probleme abspielen mit entsprechender Internet Verbindung natürlich.. 30MB in der Sekunde sollten es dann schon sein.
Versuche das hier mal als Beispiel.. https://vimeo.com/channels/4k/119029890 mit der Auflösung 4K.
Ist zwar nicht YouTube aber fast das gleiche.


gruss

Rolandrevolvermann 18. Jan 2019 11:04

AW: VCL Twebbroser mit YouTube I-Frame API
 
Doch,dass funktioniert. In einem eigenen neuen Testprogramm (Twebbrowser) funktioniert das Ganze wunderbar. Es wird eine html plus ein bisschen javascript mit der youtube iframe api geladen. das geht ohne Probleme. An die videos kommt man per ID. Alles kein Problem. Leider scheinen Seiteneffekte unserer Anwendung die Wiedergabe zu stören.

EWeiss 18. Jan 2019 11:05

AW: VCL Twebbroser mit YouTube I-Frame API
 
Zitat:

Zitat von Rolandrevolvermann (Beitrag 1423530)
Doch,dass funktioniert. In einem eigenen neuen Testprogramm (Twebbrowser) funktioniert das Ganze wunderbar. Es wird eine html plus ein bisschen javascript mit der youtube iframe api geladen. das geht ohne Probleme. An die videos kommt man per ID. Alles kein Problem. Leider scheinen Seiteneffekte unserer Anwendung die Wiedergabe zu stören.

OK dann :)
Hilft nur probieren.

gruss

Rolandrevolvermann 18. Jan 2019 11:06

AW: VCL Twebbroser mit YouTube I-Frame API
 
Falls es jemand interessiert: Das ist die API
https://developers.google.com/youtub...eference?hl=de


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 Uhr.
Seite 2 von 4     12 34      

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