2010-12-14 32 views
4

j'ai un objet flash mis en place dans le format standard:Faites une 2ème vidéo flash après les premières extrémités

<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
swfobject.embedSWF("swfplayer.swf", "myContent", "300", "120", "9", "expressInstall.swf"); 
</script> 

mais je veux commencer à jouer une seconde vidéo flash sur une autre partie de la page Web du moment où la première vidéo se termine. Y a-t-il une sorte d'auditeur quelconque à utiliser?

Merci

+0

Y at-il une vidéo réelle dans le film flash? Est-ce que le film Flash joue toujours pendant la même durée? – Zevan

+0

oui, theres une vidéo flv et la longueur est fixée – kingsley

Répondre

1

Vous pouvez approcher de ces deux possibilités: LocalConnection ou ExternalInterface.

Je voudrais aller avec ExternalInterface personnellement. Avec lui, vous pouvez configurer une fonction javascript qui reçoit un appel de videoPlayer_1 lorsque sa vidéo est terminée. Pour cette fonction javascript, vous pouvez passer un identifiant pour déterminer quel joueur a terminé, puis envoyer un rappel au prochain joueur approprié pour lui dire de commencer à jouer. Vous pouvez répéter ce processus autant de fois que vous avez/swf avec des vidéos.

J'ai inclus un exemple, mais vous ne parlez pas AS2 ou 3.

Quant à LocalConnection, vous pouvez créer un groupe de films avec une connexion de données locale, mais cela est facilement brisée par certains scénarios de plusieurs navigateurs/swfs, donc probablement pas la méthode la plus fiable. Cependant, si vous voulez tenter le coup, cherchez la classe SwfBridge de Grant Skinner pour faciliter les choses.

+0

Comment puis-je réaliser cela en javascript – kingsley

+0

seulement javascript? Vous n'avez pas accès au .fla? – Ribs

+0

je fais, mais je ne suis pas compétent en actionscript et je me demandais si cela pouvait être fait en javascript – kingsley

2

Il existe réellement un moyen de le faire, à condition que votre film soit plus ou moins basé sur la timeline. Il y a un couple d'appels que vous pouvez faire à l'objet flash via javascript qui vous renverra des valeurs que vous pouvez vérifier par rapport à déterminer si le film est terminé.

Pour récupérer l'image actuelle de l'utilisation du film:

document.getElementById("myFlashObject").TCurrentFrame("_root"); 

Pour vérifier si la lecture du film utilisation:

document.getElementById("myFlashObject").IsPlaying() 

Si le film est arrêté sur un cadre en utilisant le « arrêt () "méthode, cela retournera faux. Il existe d'autres méthodes que vous pouvez utiliser pour jouer l'autre film. Voici un lien vers la documentation de référence Adobe:

http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html

Note:Je l'ai testé cela et il fonctionne avec le flash player 10 dans Firefox. Vous pouvez vérifier la compatibilité de ces méthodes entre plusieurs navigateurs.