2010-11-15 4 views
3

J'essaie de créer un lecteur vidéo de base avec une liste de lecture en utilisant le lecteur OVP. Jusqu'à présent, j'ai trouvé comment alimenter la nouvelle source vidéo en utilisant ExternalInterface, mais je n'arrive pas à comprendre comment écouter l'événement Flash "EVENT_END_OF_ITEM".Écoutez mon événement Flash en Javascript

Comment écouter les événements Flash en Javascript (et donc jQuery)?

OVP a beaucoup d'événements définis, mais je ne sais pas comment les écouter. Par exemple, voici le EVENT_END_OF_ITEM:

public function endOfItem():void { 
    sendEvent(EVENT_END_OF_ITEM); 
} 

La documentation OVP est inexistante et leur forum de soutien est presque aussi mauvais.

Répondre

4

Dans le fichier Model.as trouver ajoutez cette ligne avec tous les autres importations (au début du fichier):

import flash.external.*; 

Ensuite, en cas de fin , ajoutez cette ligne:

ExternalInterface.call("stopedPlaying"); 

Alors qu'un événement ressemblerait à ceci:

 public function endOfItem():void { 
      sendEvent(EVENT_END_OF_ITEM); 
      // inform JavaScript that the FLV has stopped playing 
      ExternalInterface.call("stoppedPlaying"); 
     } 

Ensuite, dans votre document HTML, ajoutez entre les balises SCRIPT:

function stoppedPlaying() 
{ 
    // do something when the FLV starts playing 
}; 
+0

J'ai écrit plus sur comment résoudre ceci ici: http://stackoverflow.com/questions/4189442/jquerythis-and-externalinterface/4197115#4197115 –

0

vous pouvez utiliser projet d'objet SWF google
http://code.google.com/p/swfobject/

Cette bibliothèque vous donne la possibilité d'écouter les événements de actionscript à javascript et est très simple à utiliser

+0

Pour autant que je peux dire, il ne vous permet d'écouter « Flash a fini de charger » des événements, et non des événements spécifiques à l'intérieur du fichier SWF . –

1

Je pense que externalInterface plugin jQuery fera c'est relativement facile. Sinon, il y a la classe DOMEx qui semble prometteuse. Exemple de code à partir du site domex:

if (ExternalInterface.available) ExternalInterface.call(javaScript, "Howdy Ya'll"); 
[...] 
Questions connexes