Youtube in Flash einbinden (AS3)

Davren2007

Grünschnabel
Hallo zusammen!
Bin kurz vorm verzweifeln =(. Will auf meine HP (Flash) meine eigenen Youtube Videos einbinden. Bei HTML ist das ja ein Kinderspiel, aber Flash macht da wohl echt nen Strich durch die Rechnung.
Die API, die Youtube selbst anbietet, benötigt dummerweiße ja auch HTML, aber ich wills halt rein in Flash haben... Habe auch auf zig Seiten geschaut (ja, mit Google -.-), aber hab nur Tips für AS2 gefunden.
Weiß jemand von euch eine Lösung? Ich meine, Flash bietet ja sogar die Funktion, Videos aus dem Internet einzubinden, aber Youtube erkennt er nicht =/.
Grüße
 
Hi ,

an dem Problem hab ich bis vor kurzem auch knapp 2 Wochen gesessen, da die page in AS3 war und der Youtube player in AS2 gecodet ist. Eine kommunikation zwischen der AVM2 (As3) und AVM1 (As1,2) geht nur über localConnection.

Du mußt dir ein AS2 Wrapper bauen der den Youtube Player läd und Funktionen definiert um ein Video zu laden, starten, stoppen, usw.... Die genaue Addresse zu dem Player sowie die unterstützen Methoden stehen in der Youtube Api.
Der Wrapper ist im Prinzip eine swf Datei welcher später in deinem AS3 film geladen wird.

Danach mußt du dir eine localConnection Bridge erstellen oder du nimmst diese hier von Grant Skinner. Damit kannst du zwischen den Virtual Machines eine kommunikation aufbauen. Dient sozusagen als Schnittstelle.

In deinem AS3 Film lädst du nun diesen swf Wrapper hinein und definierst wieder Methoden um den Youtubeplayer mit Funktionen auszustatten (stop, play, usw..).
Diesmal mußt du aber die Methoden so defnieren das du über die Bridge auf die Methoden in deinem AS2 Wrapper zugreifst. Wie das geht steht auf der Grant Skinner seite.

Ein Bug gibts aber bei der sache, das hat mich 1 Woche gekostet um das einzusehen:D Du kannst den geladenen Wrapper nicht vollständig aus der AS3 entfernen und dann wieder laden. In dem Youtube player wurde die Tweenlite engine eingesezt wurde. Beim löschen der swf behält die swf trotzdem die Referenzen zu dem tweenlite object welches dann im hintergrund weiterläuft. Beim versuch den Wrapper dann wieder neu zu laden bekommst du direkt im Debugger ein Fehler ausgegeben und der Player läd nicht.
Ich habe dazu folgenen Workaround genommen: Ich habe den Player nicht aus dem Film gelöscht sondern nachdem man auf schließen geklickt hat hab ich den einfach auf visible=false gestellt ;)

Wenn du ein möglichkeit findest wie man den Wrapper komplett entfernen kann und die Garbage Collection greift, dann poste mal bitte :)
 
Klar, würd auch gehen, aber so ein Video verbraucht mir zu viel Traffic. Wenn ich es schon auf Youtube hab, brauch ichs dann doch nicht nochmal auf meinem Server
Ok

dann scheint das ja eine gute Lösung:


Kannst du machen, aber im hintergrund läuft es trotzdem über den Youtube player. Dein Player wäre nur eine Fassade für dem Youtube chromeless player wenn du den Youtube Service nutzt.
 
dann scheint das ja eine gute Lösung:

Die bessere Lösung steht in Post 2 ;)

Hier eine demo von meinem Player mit den grundlegenden Funktionen, der Film ist AS3 und nutzt den Youtube Service.

EDIT: Link entfernt

@Genervter: Man kann sich auch echt anstellen. Wärst du auf die Idee gekommen notfalls ein refresh zu machen dann hättest du die Seite auch ohne Werbung gesehen.
Die Werbung stammt außerdem nicht von mir sondern von dem Free Hoster.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück