![]() |
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:
Diese möchte ich in einen Thread packen. Dazu habe ich mir folgenden Type gebaut
procedure youtube_abspielen(pfad:String)
Code:
Die Excecute macht folgendes
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;
Code:
Im Programm dachte ich mir rufe ich das folgendermaßen auf:
procedure TYoutube.Execute;
begin try TProc(pfad); Except end; end;
Code:
Es hakt soweit ich das beurteilen kann bei der Zuweiseung der Procedure an die Member. :?
MyYoutube := TYoutube.Create(False);
MyYoutube.TProc := youtube_abspielen('Hier ist das große Fragezeichen'); //Hier klappt es nicht MyYoutube.Param1 := 'Ein_String'; PS: Wenn ich der Procedure einen String mitgebe kommt folgende Fehlermeldung: E2010 Incompatible types: 'Procedure of object' and 'procedure, untyped pointer or untyped parameter' |
AW: VCL Twebbroser mit YouTube I-Frame API
Erledigt: habs gerade selber gesehen
Richtig ist nur die procedure zu übergeben: Zitat:
|
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? |
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: |
AW: VCL Twebbroser mit YouTube I-Frame API
Zitat:
Falls dem so ist. Verwende DirectX und deine Probleme sind Vergangenheit. ( ![]() Siehe Pic. gruss |
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. |
AW: VCL Twebbroser mit YouTube I-Frame API
Zitat:
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.. ![]() Ist zwar nicht YouTube aber fast das gleiche. gruss |
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.
|
AW: VCL Twebbroser mit YouTube I-Frame API
Zitat:
Hilft nur probieren. gruss |
AW: VCL Twebbroser mit YouTube I-Frame API
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz